我有两个文件:
一:/tmp/starting
有以下内容:
15
30
45
二:/tmp/ending
有以下内容:
22
35
50
我想同时逐行读取这些文件,并在另一个命令中使用它们。例如
sed -n '15,22p' myFilePath
sed -n '30,35p' myFilePath
sed -n '45,50p' myFilePath
如何在Shell脚本中做到这一点?
您可以从paste
命令中获得您想要的字符串:
$ paste -d, starting ending
15,22
30,35
45,50
您可以将此与sed
命令一起使用,如下所示:
while read range
do
sed -n "${range}p" file
done < <(paste -d, starting ending)
构造<(...)
称为流程替换。两个<
之间的空格是必要的。