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 2010-12-10 18:51:32
实际上在OS X中,线条通常*不会以\ r结尾。您通常只能在来自传统Mac OS日期的旧版旧应用的文件中看到该文件。 – 2010-12-10 21:09:28
您也可以使用'tr'删除不需要的字符:'cleanline =“$(echo $ line | tr -d'\ r')'' – xonya 2016-08-30 13:50:14