OS X 10.6.5、BASHエコーBASH変数テキストの問題に上書き
私は実行し、この:
echo $IP; echo of; echo $IPLINES
私はこの出力を得る:
219.80.4.150:3128
of
1108
私はこれを実行すると:
echo $IP of $IPLINES
私はこの出力を得ます:
of 1108.150:3128
私が取得することが期待:
219.80.4.150:3128 of 1108
私は取得しています歪んだ出力を引き起こしますか?
実際のスクリプトは、このです:
#!/bin/bash
IPLINES=`cat a.txt | wc -l | awk '{print $1}'`
if [ $IPLINES > 1 ]; then
LINE=`expr $RANDOM % $IPLINES + 1`
IP=`head -$LINE a.txt | tail -1`
sed -e "${LINE}d" -i .b a.txt
echo $IP of $IPLINES
fi
右、右。ファイルの行末を変更して、問題を解決しました。ありがとう-n、私はその旗に慣れていませんでした。 – zevlag
実際にはOS Xでは、通常、行は* \で終わらない*。一般的には、従来のMac OSの古いレガシーアプリからのファイルにしか見られないかもしれません。 –
'tr'を使って不要な文字を取り除くこともできます:' cleanline = "$(echo $ line | tr -d '\ r')" – xonya