Docker便利ですよね。いざコンテナで作業しようとしたとき、
$ vi
bash: vi: command not found
あっ vi がない!ってなりませんか?
そんなときどうしましょう。インストールする?とんでもない!
そんなあなたは今すぐ隣のvimmerと距離を置きましょう。
正解はemacsを使
テキストファイルのちょっとした編集を行うテクニックです。
echoとリダイレクト
標準出力を>
でファイルに上書き、>>
でファイルに追記します。
$ echo "文字列" > file.txt
$ echo "最終行に追記" >> file.txt
cat
catに標準入力-
を渡すと複数行を書き込み。Ctl+C
で抜けます。
$ cat - > file.txt
a
b
c
^C
sed
sedは置換コマンドのイメージが強いですが、いろいろできます。そしてviはなくてもsedはたいていあります。
表示
$ sed -n '3p' file.txt # 3行目だけ表示
削除
$ sed -i -e '3d' file.txt # 3行目を削除
挿入
$ sed -i -e '3i hoge' file.txt # 3行目に挿入
置換
$ sed -i -e 's/hoge/fuga/g' file.txt # すべてのhogeをfugaに置換
$ sed -i -e '3 s/hoge/fuga/g' file.txt # 3行目だけ置換