gpt4 book ai didi

linux - 读取传递给命令的 cat 文件无法正常工作

转载 作者:太空宇宙 更新时间:2023-11-04 04:00:55 24 4
gpt4 key购买 nike

我有一个包含进程列表的文件,是 input1 文件

proc1
proc2 b
proc3 a

我使用以下命令读取文件并将文件的内容传递给变量,然后执行某些操作

for in in cat `input1`;do 
echo $i
done

对于像 proc1 这样的条目,它工作得很好。但问题是它只将 proc2 分配给变量 $i 并将 b 分配给 $i 等等。我怎样才能将整个 proc2 b 传递给变量 $i 并在两者之间留有空格???

谢谢

最佳答案

$ 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

关于linux - 读取传递给命令的 cat 文件无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23022405/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com