[Linux]sedの便利な使い方まとめ!
2017/06/13
行頭の空白を削除
sedで行頭の空白を削除するコマンド
1 |
sed -e 's/^[ ]*//g' hoge.txt |
タブを削除
test.txtにあるタブを削除するコマンド
1 |
# sed s/"\t"/,/g test.txt |
ファイルを上書き編集
sedコマンドで上書きできると知らなかったので一度tmp.txtファイルに出力してからcpで元ファイルに変更していましたが、上書きできるオプションがあるようです。
1 |
sed -i -e "s/AAA/ZZZ/g" test.txt |
-iをつけることで上書きが可能になります。
また以下のようにコマンドを打てばバックアップファイルも作成できます。
1 |
sed -i".bk" -e "s/AAA/ZZZ/g" test.txt |
スペースをカンマに変更
データをcsvファイルに出力したときにスペースを区切り文字として使うと、エクセルでセルに分かれてくれないので区切り文字をカンマに変更するコマンドを調べました。
1 |
sed -i "s/ /,/g" test.txt |
sedコマンドで不要な行を削除します。
1 2 3 4 5 6 7 8 |
# cat test.csv a b c d e f g |
1から5行目までを削除します
1 2 3 |
# sed -e '1,5d' test.csv f g |
不要な文字列を削除
sedコマンドで不要な文字を削除します。
1 2 |
# cat test.csv abcdefghijk |
文字列bを削除
1 2 |
# cat test.csv | sed -e 's/b//g' acdefghijk |
文字列bをaに変更
1 2 |
# cat test.csv | sed -e 's/b/a/g' aacdefghijk |
置換文字に変数を使用
'で囲むと変数と認識されないので"で囲む