3人の剣士を処理するシェルテキストのsed(sed awk grep)
それぞれの利点
の種類 | そして | awk | grep |
---|---|---|---|
フォーマットが必要ですか | 請求 | 請求 | リクエストなし |
定期的にサポート | 標準レギュラー | 標準レギュラー | 拡張レギュラー |
sed詳細
これはパイプラインコマンドであり、主に動作の単位で処理され、データ行の置換、削除、追加、選択などの特定のタスクを実行できます。
- sedの一般的なパラメータ
一般的に使用されるオプション:
使用法:sed [OPTION] ... {script-only-if-no-other-script} [input-file] ...
-n:サイレントモードを使用します。一般的なsedの使用法では、STDINからのすべてのデータは通常画面に表示されます。ただし、-nパラメーターを追加すると、sedによって特別に処理された行(またはアクション)のみがリストされます。
-e:コマンドラインモードでsedアクションを直接編集します。
-f:sedアクションをファイルに直接書き込みます。-ffilenameはファイル名でsedアクションを実行できます。-
r:sedアクションは拡張正規表記の文法をサポートします。(デフォルトは基本的な通常の表記構文です)
-i:画面に出力するのではなく、読み取ったファイルの内容を直接変更します。
一般的に使用されるコマンド:
a:aの後に文字列を追加すると、これらの文字列が新しい行(現在の次の行)に表示されます
〜c:replace、cの後に文字列を続けた後、これらの文字列を置き換えることができますn1とn2の間の線!
d:削除、削除であるため、通常、dの後にドンドンはありません
。i:挿入、iの後に文字列を接続すると、これらの文字列は改行(現在の前の行)に表示されます
。p:印刷、つまり、選択したデータを印刷します。通常、pはパラメータsed -n〜sで動作します
:置換、置換作業を直接実行できます!通常、sのアクションは通常の表記法と一致させることができます!たとえば、1,20s / old / new / gです!
sed追加、削除、変更、チェック
**操作を追加**
- 行の最後に行を追加します
# 无数据
cat sed_test
# vi 添加hello world1
vi sed_test
# sed 行末添加数据
sed -i '$a hello world' sed_test
# 查看vi的数据与sed添加的数据
cat sed_test
削除操作
- 最初の行を削除します
しかし、「1d」から
- 最後の行を削除します
しかし、の「$ d」
- 最初の行を2番目の行に削除します
しかし、「1,2d」から
- 最後から2番目の行を削除します
しかし、2、$ d "
操作の変更
- 行を変更する
しかし、1cこんにちはsed_test
- 複数行を変更する
しかし、-n'1,2cこれらの 'sed_test
- 行の一部を変更する
sed -n '/ hello / p'sed_test | sed's / hello / hi / g '
- 複数行の一部を変更する
クエリ操作
- 最初の行を表示
しかし、-n '1p'
- 最後の行を表示
しかし-n '$ p'から
- 1行目から2行目を表示
sed -n '1,2p' ab
- 最後から2番目の行を表示します
sed -n '2、$ p'ab
通常のパターンマッチング
- クエリには、キーワードrubyが配置されているすべての行が含まれます
sed -n '/ ruby / p'ab
- クエリには、バックスラッシュ\シールドの特別な意味を使用して、キーワード$が配置されているすべての行が含まれます
しかし、-n '/ $ / p'から