【linuxメモ】 cat sed
説明の前提、カレントディレクトリに以下のファイルがあるとする。
hoge1 hoge2 hoge3
cat
- 定義 ファイル内容を標準出力に表示
$ cat hoge.txt hoge1 hoge2 hoge3
と出力される。
-nをつけると、行番号が表示される。
$ cat -n hoge.txt 1 hoge1 2 hoge2 3 hoge2
sed
- 定義 文字列の置換、行の削除を行なう。
- オプション 「i」ファイルを直接編集、「e」スクリプトを実行
置換
eオプションに続いてスクリプト「s/置換前/置換後/」を用いると置換出来る。
# 末尾にgをつけると全て置換、数値の場合はマッチした番号を置換 # 全行で置き換えを実施 テキスト文にある test→hoge $ sed -ie "s/test/hoge/g" hoge.txt # 正規表現も使える。 $ sed -ie "s/./tttt/g" hoge.txt $ sed -ie "s/^hoge$/test/g" hoge.txt
削除
#1行目を削除 $ sed '1d' hoge.txt #1~3行目を削除 $ sed '1,3d' hoge.txt
リダイレクトすれば、勿論新規ファイル作成も出来る。
# hoge → test 置き換えファイル作成 $ sed -e "s/hoge/test/g" > test2.txt