使用bash在文件中拆分行并写回文件不会执行任何操作

时间:2014-03-12 12:22:00

标签: bash file-io while-loop

我正在尝试遍历文件中的每一行,用逗号分隔并用它做一些事情。重要的是,我希望将更改写入同一文件。此代码不会出错,但会挂起并且不执行任何操作。有什么建议或更好的解决方案吗?

file='file.txt'
while IFS=',' read -ra f1 f2
do
  echo "field # 1 : $f1 ==> field #2 : $f2" 
done >> $file

1 个答案:

答案 0 :(得分:5)

因为你的命令很简单。你甚至不是在阅读文件。要在完成后阅读文件,您需要< file

file='file.txt'
while IFS=',' read -r f1 f2
do
  echo "field # 1 : $f1 ==> field #2 : $f2" 
done < "$file" > output