ホームページ >運用・保守 >Linuxの運用と保守 >Linux で sed コマンドを置き換える方法
方法: 1. パラメータ「c」を設定します。c の後に文字列を続けることができ、これらの文字列は指定した行を置換できます。構文は「sed '行番号 c 置換後の内容'」です。 2. 設定します。パラメータ「s」は直接置換に使用でき、構文は「sed 's/置換される文字列/新しい文字列/g'」となります。
#このチュートリアルの動作環境: linux7.3 システム、Dell G3 コンピューター。
Linux sed コマンドは、スクリプトを使用してテキスト ファイルを処理します。
sed は、スクリプトの指示に従ってテキスト ファイルを処理および編集できます。
Sed は主に、1 つ以上のファイルの自動編集、ファイルに対する繰り返しの操作の簡素化、変換プログラムの作成などに使用されます。
構文
sed [-hnV][-e<script>][-f<script文件>][文本文件]
パラメータの説明:
-e3f1c4e4b6b16bbbd69b2ee476dc4f83a または --expression=3f1c4e4b6b16bbbd69b2ee476dc4f83a オプションでスクリプトを指定します入力テキスト ファイルを処理します。
-f8d9e20cf7980a42776913d042440355f または --file=8d9e20cf7980a42776913d042440355f 入力されたテキストファイルをオプションで指定したスクリプトファイルで処理します。
-h または --help はヘルプを表示します。
-n または --quit または --silent は、スクリプト処理後の結果のみを表示します。
-V または --version はバージョン情報を表示します。
アクションの説明:
a: 新しく追加されました。a の後に文字列を続けることができ、これらの文字列は新しい行に表示されます (現在の次の行)~
c: 置換。c の後に文字列を続けることができ、これらの文字列で n1 と n2 の間の行を置き換えることができます。
d: 削除 (削除であるため、通常、d の後には何も続きません);
i: 挿入 (i の後には文字列が続きます)接続すると、これらの文字列は新しい行 (現在の前の行) に表示されます;
p: Print、つまり、選択したデータを印刷します。通常、p はパラメーター sed -n~
s: 置換とともに実行されます。置換作業を直接実行できます。通常、このアクションは通常の表記法と組み合わせることができます。例えば、1,20s/old/new/g です!
例は次のとおりです。
2~5行目の内容を「2~5番なし」に置き換えてみてはいかがでしょうか?
[root@www ~]# nl /etc/passwd | sed '2,5c No 2-5 number' 1 root:x:0:0:root:/root:/bin/bash No 2-5 number 6 sync:x:5:0:sync:/sbin:/bin/sync .....(后面省略).....
sed は、行全体の処理モードに加えて、動作単位の部分データを検索および置換することもできます。基本的に sed の検索と置換は vi の検索と置換に非常に似ています。これは次のようなものです。
sed 's/要被取代的字串/新的字串/g'
まず元の情報を確認し、/sbin/ifconfig を使用して IP をクエリします。
[root@www ~]# /sbin/ifconfig eth0 eth0 Link encap:Ethernet HWaddr 00:90:CC:A6:34:84 inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::290:ccff:fea6:3484/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 .....(以下省略).....
このマシンの IP は 192.168.1.100 です。
IP の最初の部分を削除します
[root@www ~]# /sbin/ifconfig eth0 | grep 'inet addr' | sed 's/^.*addr://g' 192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
次に、後続の部分、つまり 192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
を削除します。 IP の背後にある部分
[root@www ~]# /sbin/ifconfig eth0 | grep 'inet addr' | sed 's/^.*addr://g' | sed 's/Bcast.*$//g' 192.168.1.100
関連する推奨事項:「Linux ビデオ チュートリアル 」
以上がLinux で sed コマンドを置き換える方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。