1. ホーム
  2. linux

[解決済み] grep、awk、sedの違いは何ですか?重複] [重複

2022-06-01 18:56:18

質問

重複の可能性があります。

Perl、Python、AWK、sedの違いは何ですか?

sed と awk の違いは何ですか?

あまり具体的な質問ではないかもしれませんが、私は次のような違いについて混乱しています。 grep , awksed を、Unix/Linux システム管理およびテキスト処理における役割の観点から説明しました。

どのように解決するのですか?

簡単な定義です。

grep : ファイル中の特定の語句を検索する

#usage
$ grep This file.txt
Every line containing "This"
Every line containing "This"
Every line containing "This"
Every line containing "This"

$ cat file.txt
Every line containing "This"
Every line containing "This"
Every line containing "That"
Every line containing "This"
Every line containing "This"

現在 awksed とは全く別のものです。 grep . awk そして sed はテキスト・プロセッサーです。テキストの中から探しているものを見つける能力だけでなく、テキストを削除、追加、修正する能力も持っています(他にもいろいろあります)。

awk は、主にデータ抽出とレポート作成に使用されます。 sed は、ストリーム・エディタ

それぞれに機能性や得意分野があります。



セド

$ sed -i 's/cat/dog/' file.txt
# this will replace any occurrence of the characters 'cat' by 'dog'

Awk

$ awk '{print $2}' file.txt
# this will print the second column of file.txt

基本的な awk の使い方を説明します。

sum/average/max/min/etc.を計算します。

$ cat file.txt
A 10
B 20
C 60
$ awk 'BEGIN {sum=0; count=0; OFS="\t"} {sum+=$2; count++} END {print "Average:", sum/count}' file.txt
Average:    30

この本を読むことをお勧めします。 Sed & Awk: 第2版

この本は、あらゆるunixライクな環境において、sed/awkに熟達したユーザーになるための手助けをします。