使用 while read 循环将读取的文件的一行通过管道传输

使用 while read 循环将读取的文件的一行通过管道传输

我试图读取文件的每一行,然后将其中的某些部分分配给变量。行本身被读取为变量,因此我需要处理变量输入,例如 cat,这似乎是不可能的。我尝试了回显,但看起来它没有达到我的要求。

它看起来是这样的cat

cat $LINE | cut -f1

cat $LINE | cut -f4| sed s/\.pdf$/\.html/

希望问题已经表达得足够清楚。任何帮助都将不胜感激!

答案1

cat以文件名作为参数。你肯定需要echo。你可能搞错了,因为读取的行将以空格分隔,所以cut需要一个-d " "

但是,为什么不使用这个-r选项呢read

$ read -r NAME FNAME AGE FILE < file
$ echo $NAME
Doe
$ echo $FNAME
John
$ echo $AGE
36
$ echo $FILE
johns_letter.pdf
$ echo $FILE | sed -e "s/.pdf/.html/"
johns_letter.html

相关内容