[解決済み】sedとawkの違いは何ですか?[クローズド]
質問
- awk の違いは何ですか? とsedは?
- どのような用途で使うのがベストなのか sed や awk のツールはどのような場合に使うのでしょうか?
どのように解決するのですか?
sed
は、ストリームエディタです。行単位で文字のストリームを扱うことができます。パターンマッチやアドレスマッチに加え、後藤式ループや簡単な条件分岐を含む原始的なプログラミング言語を持っています。変数には、パターンスペースとホールドスペースの2つしかありません。スクリプトの可読性は難しいかもしれません。数学的な演算が非常に難しい。
には様々なバージョンがあります。
sed
コマンドラインオプションや言語機能に対するサポートのレベルが異なる。
awk
は、行単位で区切られたフィールドを指向しています。これは、より堅牢なプログラミング構造を持っています。
if
/
else
,
while
,
do
/
while
と
for
(C言語スタイルと配列の反復)。変数と一次元の連想配列に加え,(IMOの)やっかいな多次元配列も完全にサポートされています.数学的な演算はC言語と同様です。
printf
と関数があります。AWKのK"はquot.の略です。
K
ernighan" は、「Cプログラミング言語」で有名な Kernighan and Ritchie" のことです(忘れてはいけないのは、「Cプログラミング言語」です)。
A
ホーと
W
einberger)。を使った学術的な盗作検出器を書くことも考えられる。
awk
.
GNU
awk
(
gawk
) には多数の拡張機能があり、最新版では真の多次元配列も含まれています。の他のバリエーションがあります。
awk
を含む
mawk
と
nawk
.
どちらのプログラムも、テキストの選択と処理に正規表現を使用しています。
を使うことが多いですね。
sed
は、テキストにパターンがある場合です。例えば、ある文章中のマイナス数字で、"マイナス記号の後に数字が続く形式(例えば "-231.45")を、これを使って"会計士のカッコ(例えば "(231.45)")形式に置き換えると、改善の余地があることがわかる。
sed 's/-\([0-9.]\+\)/(\1)/g' inputfile
私なら
awk
は、テキストが行と列のように見える場合、あるいは
awk
は、quot;records" と "fields" と呼ばれています。もし、上記のような操作を、単純なカンマ区切りファイルの3番目のフィールドに対してだけ行うとしたら、次のようなことを行うかもしれません。
awk -F, 'BEGIN {OFS = ","} {gsub("-([0-9.]+)", "(" substr($3, 2) ")", $3); print}' inputfile
もちろん、これらはごく簡単な例に過ぎず、それぞれが提供する機能のすべてを説明しているわけではありません。
関連
-
[解決済み】sedが "unknown option to `s'"エラーで失敗しました【終了しました
-
[解決済み] sedでシングルクォートをエスケープするには?
-
[解決済み] sedで改行をスペースに置き換えるには?
-
[解決済み] sedによる空行の削除
-
[解決済み】bash/sedスクリプトを使用してテキストファイルの最初の行を削除するにはどうすればよいですか?
-
[解決済み】複数のファイルを変更する
-
[解決済み] スラッシュを含む文字列をsedで挿入するには?重複
-
[解決済み】sedとawkの違いは何ですか?[クローズド]
-
[解決済み] awk/sed で複数回発生する可能性のある 2 つのマーカーパターンの間の行を選択する方法
-
[解決済み] sed または awk: パターンに従って n 行を削除する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン