我有一个包含进程列表的文件是input1文件
proc1
proc2 b
proc3 a
我使用以下命令读取文件并将文件内容传递给变量然后执行某些操作
for in in cat `input1`;do
echo $i
done
它适用于像proc1这样的条目。但问题是,它只将proc2分配给变量$ i,并且还将b分配给$ i等等。如何将整个proc2 b传递给变量$ i,其间的空间为???? < / p>
谢谢
答案 0 :(得分:0)
$ while IFS= read i; do echo $i; done <input1
proc1
proc2 b
proc3 a
$ IFS=$'\n'; for i in $(cat input1); do echo $i; done
proc1
proc2 b
proc3 a
更新:根据评论,您似乎希望将文件名从外部循环传递到内部循环,该循环将从文件中读取。在那种情况下:
for fname in input1 input2
do
while IFS= read i
do
echo $i
done <"$fname"
done
或者,如果正在从名为filelist
的文件中读取文件名:
while IFS= read fname
do
while IFS= read i
do
echo 1=$i
done <"$fname"
done <filelist