したがって、私の問題は次のとおりです。たくさんのファイルがあり、これらの各ファイルの特定の行 (すべてのファイルで同じ行) からの情報のみが必要です。例: ファイル example_1.dat~example_10.dat の 10 行目のコンテンツが必要で、それを > test.dat に保存したい
使ってみました: head -n 5 example_*.dat > test.dat
. しかし、これにより、行だけでなく、選択した行までのすべての情報が得られます。助けてください。
$ for f in *.dat ; do sed -n '5p' $f >> test.dat ; done
このコードは次のことを行います。
.dat で終わるディレクトリ内の foreach ファイル f。ファイルの 5 行目に sed を使用し、test.dat に書き込みます。">>" は、ファイルの下部に行が存在する場合に追加します。
head
との組み合わせを使用tail
して、必要な行にズームします。例えば、head -n 5 file | tail -n 1
for
ループを使用して、複数のファイルで実行できます
for f in *.dat ; do head -n 5 $f | tail -n 1 >> test.dat ; done
PS:ループを実行する前に、test.dat
ファイル ( )を消去することを忘れないでください。> test.dat
それ以外の場合は、以前の実行の結果も得られます。