0

、、 ...、 までのdump_mydump_0.cfgいくつかのダンプ ファイルがあります。ダンプ ファイルごとに、16 行目を取り出して読み取り、1 つのファイルにまとめたいと思います。dump_mydump_250.cfgdump_mydump_40000.cfg

を使用しsedていますが、構文エラーが発生しました。これが私がこれまでに持っているものです:

for lineNo in 16 ;
for fileNo in 0,40000 ; do
    sed -n  "${lineNo}{p;q;}" dump_mydump_file${lineNo}.cfg >> data.txt
done
4

3 に答える 3

1

または、(GNU) awk を使用:

awk "FNR==16{print;nextfile}" dump_mydump_{0..40000..250}.cfg > data.txt

(動作するように修正された場合、ループのbashによって生成されるファイル名とは対照的に、OPに示されているファイル名を使用しました。ただし、必要に応じて編集できます。)

利点は、for ループが必要ないことと、160 のプロセスを生成する必要がないことです。しかし、それは大きな利点ではありません。

于 2013-07-25T20:38:41.993 に答える
0

これはうまくいくかもしれません(GNU sed):

sed -ns '16wdata.txt' dump_mydump_{0..40000..250}.cfg
于 2013-07-25T21:23:25.057 に答える