個人的には nano -w file.txt
を選びます;-) (つまり、テキスト エディタを使用してください。もちろん、nano である必要はありません)
しかし、何らかの理由で非インタラクティブな環境でこれを行いたい場合は、 cat
を使用できます あらゆる種類の連結:
echo $'name\tage\tuniversity\tcity' | cat - file.txt > file2.txt
ヘッダーを先頭に追加し、出力を file2.txt
に配置します .元のファイルを上書きしたい場合は
echo $'name\tage\tuniversity\tcity' | cat - file.txt > file2.txt; mv file{2,}.txt
または、 sed
を使用できます 次のように:
sed -i $'1 i\\\nname\tage\tuniversity\tcity' file.txt
$'...'
を使用していることに注意してください \t
を使用できるようにするための引用 タブと \n
を表す 改行を表す (他の置換の中でも、詳細については bash の man ページを参照してください)。このタイプの引用符付き文字列では、\\
リテラルのバックスラッシュを表します。したがって、sed に渡されるプログラムは実際には
1 i\
name age university city
"append" 演算子 >>
のような "prepend" 演算子はありません 、ただし、ヘッダーを一時ファイルに書き込み、その後ファイルの内容を一時ファイルにコピーして、元に戻すことができます:
echo -e "name\tage\tuniversity\tcity" | cat - yourfile > /tmp/out && mv /tmp/out yourfile
$ { printf 'name\tage\tuniversity\tcity\n'; cat orig-file; } > new-file
または
$ printf '1\ni\nname\tage\tuniversity\tcity\n.\nw\n' | ed -s orig-file