(たとえば)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 に提供できますか?