内容へ移動
fl8 Wiki
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
現在位置:
Dokuwiki.fl8.jp
»
02_freebsd
»
80_Unixコマンド
»
sed
トレース:
02_freebsd:80_unixコマンド:sed
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== sed ====== ===== 機能 ===== sedコマンドは、文字の置換を行うコマンドです。 ===== 構文 ===== sed [オプション] [コマンド] [ファイル名] ===== オプション ===== |-e|次にくるのがコマンドとする。 | |-f|次にくるのがスクリプトとする。| |-i|ファイルを書き換える 。 \\ .[name] を付けるとオリジナルを保存しておく| ===== コマンド ===== |d|行を削除 | |s/パターン/置換文字列/|各行で最初に一致した文字列だけ置換(s/パターン/置換文字列/) | |s/パターン/置換文字列/g|全体を置換(s/パターン/置換文字列/g) | |s/パターン/置換文字列/gi|全体を置換(s/パターン/置換文字列/g) ※大文字小文字関係なく| |s/パターン/置換文字列/数値|各行で指定した数値番目の文字列だけ置換(s/パターン/置換文字列/数値)| |s/パターン/置換文字列/3|各行で3番目に一致した文字列だけ置換(s/パターン/置換文字列/) | ===== コマンド例 ===== ==== Sed で空白行・空白を削除する ==== color(red){'/^$/d'};が条件とコマンドの個所だが、 /と/の間が条件です。この場合[^]が行頭の意味[$]が行末の意味 つまり行頭からいきなり行末の行を削除するという意味 <code console> $ cat test.txt ------------------------------------- 1行目 2行目 3行目 ------------------------------------- $ sed '/^$/d' test.txt ------------------------------------- 1行目 2行目 3行目 ------------------------------------- </code> ==== week.txtの1から5行目を削除する。 ==== <code console> $ cat week.txt ------------------------------------- Sunday Monday Tuseday Wensday Thursday Friday Saturday ------------------------------------- $ sed '1,5d' week.txt ------------------------------------- Friday Saturday ------------------------------------- </code> === penを山本に置換する。 === <code console> $ cat test.txt ------------------------------------- 私はpenです。 ------------------------------------- $ sed 's/pen/山本/g' test.txt ------------------------------------- 私は山本です。 ------------------------------------- </code> ==== 改行文字も含めて挿入(置換)する方法。 ==== <code console> $ cat test.txt ------------------------------------- aaaaa bbbbb ccccc ddddd eeeee fffff ggggg matsui ------------------------------------- $ sed '1s/^/1Line\ > /' test.txt ------------------------------------- 1Line aaaaa bbbbb ccccc ddddd eeeee fffff ggggg matsui ------------------------------------- </code> ==== ファイルを変更、バックアップを取得する ==== - sedコマンドでファイルを変更して保存 - 元ファイルは、.bakを付けて保存 == 元ファイル == <code console> $ cat test.txt AAAA BBBB CCCC DDDD </code> == 実行 == <code console> $ sed -i.bak 's/CCCC/ZZZZ/g' test.txt </code> == ファイルは変更される == 元ファイルは、test.txt.bakとして保存されている <code console> $ cat test.txt AAAA BBBB ZZZZ DDDD $ cat test.txt.bak AAAA BBBB CCCC DDDD </code> ==== 空白、tabを置換 ==== <code console> # cat a aaa bbb ccc # sed 's/\s//g' a aaabbbccc </code> ==== 指定した行を表示 ==== [[02_freebsd:80_unixコマンド:01_sed_line_number]] {{tag>Unixコマンド ファイル操作 sed}}
02_freebsd/80_unixコマンド/sed.txt
· 最終更新: 2020/04/24 13:22 by
matsui
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
文書の先頭へ