sedコマンドを触ってみた
sedとは
「Stream EDitor」の略
下記サイトによると
https://www.ibm.com/docs/ja/aix/7.2?topic=s-sed-command
sed コマンドは、指定された File パラメーターの行を編集スクリプトに従って変更し、それらを標準出力に書き出します。 sed コマンドには、変更する行を選択するための機能、および選択した行に対してのみ変更を行うための機能などが多数含まれています。
ちなみに、日本語で「セド」と読む。
触ってみる
基本構文:置換(sとg)
sed 's/置換前文字列/置換後文字列/g' ファイルのPATH
orgin.txtというファイルを用意した。中身は↓通り
~/Documents/sed » ls al_he@AL-HEnoMacBook-Air
origin.txt
~/Documents/sed » cat origin.txt
Daffodils
I wander'd lonely as a cloud
That floats on high o'er vales
and hills,
When all at once I saw a crowd,
A host of golden daffodils,
Beside the lake, beneath the trees
Fluttering and dancing
in the breeze.
下のコマンドでorigin.txtの内容にある「I」を全て「You」に変更してみよう。
sed 's/I/You/g' ./origin.txt
全置換で出力された
~/Documents/sed » sed 's/I/You/g' ./origin.txt al_he@AL-HEnoMacBook-Air
Daffodils
You wander'd lonely as a cloud
That floats on high o'er vales
and hills,
When all at once You saw a crowd,
A host of golden daffodils,
Beside the lake, beneath the trees
Fluttering and dancing
in the breeze.
注意点:出力として原文の内容を置換したものが表示されるだけで、origin.txtの内容は原文のまま。↓のように新規ファイルに保存することでファイルとして出力もできる。
~/Documents/sed » sed 's/I/You/g' ./origin.txt > target.txt
~/Documents/sed » cat target.txt al_he@AL-HEnoMacBook-Air
Daffodils
You wander'd lonely as a cloud
That floats on high o'er vales
and hills,
When all at once You saw a crowd,
A host of golden daffodils,
Beside the lake, beneath the trees
Fluttering and dancing
in the breeze.
sとgについて
📌最初のs:置換処理(substitute)
📌最後のg:マッチした文字列をすべて置換(global)
sの前に数字を入れると、指定した行目だけが対処になる
試しに2行目の「I」だけを「You」に置換してみる。
~/Documents/sed » sed '2s/I/You/g' ./origin.txt
Daffodils
*You* wander'd lonely as a cloud
That floats on high o'er vales
and hills,
When all at once *I* saw a crowd,
A host of golden daffodils,
Beside the lake, beneath the trees
Fluttering and dancing
in the breeze.
できた。
2から5行目までに限定したい時に、下のように2,5で書けばいける
sed '2,5s/I/You/g' ./origin.txt
基本構文:削除(d)
内容の1行目から3行目を削除して4行目以降を出力するには、dで指定する
$ sed 1,3d ファイルのPath
実際やってみる
~/Documents/sed » cat origin.txt
Daffodils
I wander'd lonely as a cloud
That floats on high o'er vales
and hills,
When all at once I saw a crowd,
A host of golden daffodils,
Beside the lake, beneath the trees
Fluttering and dancing
in the breeze.
~/Documents/sed » sed 1,3d ./origin.txt
and hills,
When all at once I saw a crowd,
A host of golden daffodils,
Beside the lake, beneath the trees
Fluttering and dancing
in the breeze.
予想通りの結果となった。
以上
Author And Source
この問題について(sedコマンドを触ってみた), 我々は、より多くの情報をここで見つけました https://qiita.com/neko-kamaboko/items/2dab60936081c7b2f4d0著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .