在shell脚本中同时从两个文件逐行读取



我有两个文件:

一:/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)

构造<(...)称为流程替换。两个<之间的空格是必要的。

相关内容

  • 没有找到相关文章

最新更新