Linuxコマンドを使用して、巨大なファイルの最初の数行をコピーし、その最後にテキスト行を追加するにはどうすればよいですか?
回答:
head
コマンドは、最初に取得することができますn
行を。バリエーションは次のとおりです。
head -7 file
head -n 7 file
head -7l file
これは、と呼ばれるファイルの最初の7行を取得します"file"
。使用するコマンドは、のバージョンによって異なりますhead
。Linuxは最初のもので動作します。
同じファイルの末尾に行を追加するには、次を使用します。
echo 'first line to add' >>file
echo 'second line to add' >>file
echo 'third line to add' >>file
または:
echo 'first line to add
second line to add
third line to add' >>file
ワンヒットでそれを行う。
したがって、これら2つのアイデアを結び付けて、input.txt
ファイルの最初の10行を取得し、output.txt
5"="
文字の行を追加する場合は、次のように使用できます。
( head -10 input.txt ; echo '=====' ) > output.txt
この場合、出力ストリームを1つに統合するために、サブシェルで両方の操作を実行します。これは、出力ファイルの作成または上書きに使用されます。
あなたが達成しようとしているのは、テキストファイルの最初の数行の後に行を挿入することだと思います。
head -n10 file.txt >> newfile.txt
echo "your line >> newfile.txt
tail -n +10 file.txt >> newfile.txt
ファイルの残りの行を残したくない場合は、末尾の部分をスキップしてください。
(head -n10 file.txt ; echo "Some stuff" ; tail -n +10 file.txt) > newfile.txt
head -n 100 yourfile.csv > shrunkfile.csv && echo 'morelines' >> shrunkfile.csv