|
|
|
|
|
|
---|
コマンド | 説明 |
---|---|
grep moji *.c | *.c から moji のあるものを抜き出す |
grep -n moji *.c | 検索結果に行番号を付加する |
grep -v : filename > outfile | 「:」が入っている行を消し |
grep -v '^$' filename > outfile | 空行を消す ここで「'」と「'」で囲まなくても意味は同じ 「^」は行頭、「$」は行末を現す。 |
grep -c '^add$' filename > outfile | addの行数を数えて出力 |
grep -w main *.c | 単語 main を *.c から検索 mainly などは検索されない。 |
コマンド | 説明 |
---|---|
sed 's/A/B/' [infile] | infile の中にある A を B に変換して標準出力へ出力。 ex. sed 's/sample/example/' sample.txt cf. 「'」は「"」としても同じ。 |
sed 's/z/x/' sample.txt | sample.txt の各行の最初のzをxに変換する。 |
sed 's/i/x/g' sample.txt | sample.txt の各行の全てのzをxに変換する。 |
sed 's/i/x/2' sample.txt | sample.txt の各行の2番目のzをxに変換する。 |
sed -e 's/z/x/' -e 's/i/x/2' sample.txt | 2つの作業を同時に行う。 sed 's/z/x/' sample.txt | sed 's/i/x/2' に同じ。 |
sed -f sedscript sample.txt | スクリプトファイルの作業を行う。 sedscript の内容は次のようになっている。
s/i/x/2 |
コマンド | 説明 |
---|---|
sed '/you/s/i/x/g' sample.txt | you という文字列のある行の全てのzをxに変換する。 |
sed '1,3s/i/x/g' sample.txt | 1〜3行目の全てのzをxに変換する。 cf. sed '1,3/s/i/x/g' sample.txt とする場合もあるようです。(未確認) |
sed '1,/abc/s/i/x/g' sample.txt | 1行目からabcという文字列がある行までの全てのzをxに変換する。 |
コマンド | 説明 |
---|---|
sed 's/you//' sample.txt | you を削除する。 |
sed '/you/d' sample.txt | you のある行を削除する。 cf. grep -v you sample.txt と同じ。 |
表現 | 名称 | 説明 |
---|---|---|
. | ドット | 改行以外の任意の一文字。 DOSのワイルドカード「?」にあたるもの。 |
* | アスタリスク | 直前の文字の0回以上の繰り返し。 cf. DOSでは、「*」は単純に複数の文字の代わりとなる。 ex1. grep 'HH*' sample.txt の結果は Hello, World! だけだが、 grep 'H*' sample.txt とすると、直前のHの0回以上の繰り返し すなわち「Hがあってもなくてもいいぞ!」という意味になるため、 sample.txtの内容がすべて表示される。 ex2. grep -w 's.*' sample.txt の結果は sed, sample の含まれる 3行が表示される。 |
^ | サーカムフレックス | 行頭という意味。 使う位置によって実は意味が2通りにわかれる。 ブラケット「[]」の中の一番先頭に置くと、それ以降に指定する文字以外という意味になる。 |
$ | ドル記号 | 行末のこと。 ex. 「^$」は、「行末が先頭である」つまり、中味がなにもない (スペースさえも入ってない) 空行のこと。 |
[ ] | ブラケット | 中に入っている文字のどれかひとつにあてはまることを示す。 ex1. A[BC]は、ABあるいはACのこと。 ex2. [0-9]は、数字のこと。 ex3. [^0-9]は、数字以外のこと。 ex4. [^0-9a-zA-Z]は、アルファベットと数字以外のこと。 |
\ | 円記号・バックスラッシュ | メタキャラクタをメタではない普通の文字に戻す。 ex. A[BC]は、AB、あるいはACのこと |
コマンド | 説明 |
---|---|
sed 's/\(.*\)/your file : \1/' sample.txt | sample.txt のファイルの前に「your file :」という文字列を加えて出力する。 |