来自文件行的回声

时间:2012-03-04 22:48:50

标签: bash echo cat

我有一个文件“myfile.txt”,其中包含下一个内容:

hola mundo
hello word

我希望与每一行合作

for i in `cat myfile.txt`; do echo $i; done

我希望这能给我

hola mundo
hello word

第一行,然后另一行,但得到

hola
mundo
hello
word

因为我可以要求结果直到换行而不是每个空格?

所有

1 个答案:

答案 0 :(得分:13)

那更好

cat myfile.txt | while read line; do
    echo "$line"
done

甚至更好(不启动其他进程,例如子shell和cat):

while read line; do
    echo "$line"
done < myfile.txt

如果您更喜欢oneliners,那显然是

while read line; do echo "$line"; done < myfile.txt