我有一个读取循环正在读取变量,但行为不符合我的预期。我想读取变量的每一行并处理每一行。这是我的循环:
while read -r line
do
echo $line | sed 's/<\/td>/<\/td>$/g' | cut -d'$' -f2,3,4 >> file.txt
done <<< "$TABLE"
我希望它能够处理文件的每一行,但它只处理第一行。如果我的中间只是 echo $line >> file.txt 它会按预期工作。这里发生了什么?我如何获得我想要的行为?
看来你的线条是由\r
代替\n
.
使用此 while 循环来迭代输入read -d $'\r'
:
while read -rd $'\r' line; do
echo "$line" | sed 's~</td>~</td>$~g' | cut -d'$' -f2,3,4 >> file.txt
done <<< "$TABLE"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)