我有(比如说)100 行的“file1”。我想使用 sed 或 awk 将第 23、71 和 84 行(例如)打印到“file2”。这 3 个行号位于单独的文件“列表”中,每个数字位于单独的行中。
当我使用这些命令中的任何一个时,只打印第 84 行:
for i in $(cat list); do sed -n "${i}p" file1 > file2; done
for i in $(cat list); do awk 'NR==x {print}' x=$i file1 > file2; done
可以以这种方式使用 for 循环为 sed 或 awk 提供行地址吗?