タグ付けされた質問 「awk」

パターン指向のスキャンおよび処理言語。

8
ファイル内の文字列を置き換えるにはどうすればよいですか?
特定の検索条件に基づいてファイル内の文字列を置き換えることは非常に一般的なタスクです。どうやって 現在のディレクトリ内のすべてのファイルで文字列fooを置き換えますbarか? サブディレクトリにも同じことを繰り返しますか? ファイル名が別の文字列と一致する場合にのみ置き換えますか? 特定のコンテキストで文字列が見つかった場合にのみ置き換えますか? 文字列が特定の行番号にある場合は置き換えますか? 複数の文字列を同じ置換で置き換えます 複数の文字列を異なる置換に置き換えます
752 text-processing  awk  sed  perl 

7
grep、awk、sedの基本的なチュートリアルはありますか?[閉まっている]
私はしばらくの間Linuxユーザーであり、ほとんどの一般的なコマンドラインユーティリティをかなりよく理解しています。しかし、プログラミングに関連して、再び起動して出てくるものがありgrep、awkとsed。 私がgrepを使用した唯一のことは、ログファイル内のファイル、出力psなどを見つけるためにパイプを使用することです。私は使用していないawkかsed、まったく使用していません。これらのユーティリティの良いチュートリアルはありますか?
95 grep  sed  awk 

18
単一のコマンドで数値のリストの最小、最大、中央値、平均を取得する方法はありますか?
ファイルには、1行に1つずつ番号のリストがあります。最小値、最大値、中央値、平均値を取得するにはどうすればよいですか?結果をbashスクリプトで使用したい。 私の当面の状況は整数の場合ですが、浮動小数点数の解決策は将来的には有用ですが、単純な整数法で十分です。
93 bash  awk  arithmetic  bc 

5
特定の文字列と次の行を含む行を削除します
私はこれを使用します cat foo.txt | sed '/bar/d' barファイル内の文字列を含む行を削除します。 ただし、これらの行とその直後の行を削除します。好ましくでsed、awkまたはMINGW32で利用できる他のツール。 それは私が得ることができるものの逆のようなものだgrepと-Aし、-Bマッチした行の前/後に一致した行だけでなく、ラインを印刷します。 それを達成する簡単な方法はありますか?

10
ディレクトリリストにファイルサイズの合計を表示する
Windowsのdirディレクトリリストコマンドの最後には、リストされたファイルが占めるスペースの総量を示す行があります。たとえば、現在のディレクトリ内のdir *.exeすべての.exeファイル、サイズ、およびサイズの合計を表示します。dirbashのエイリアスで同様の機能を使用したいのですが、どうすればいいのかわかりません。 現在、私は持っているalias dir='ls -FaGl'私に.bash_profile示して、 drwxr-x---+ 24 mattdmo 4096 Mar 14 16:35 ./ drwxr-x--x. 256 root 12288 Apr 8 21:29 ../ -rw------- 1 mattdmo 13795 Apr 4 17:52 .bash_history -rw-r--r-- 1 mattdmo 18 May 10 2012 .bash_logout -rw-r--r-- 1 mattdmo 395 Dec 9 17:33 .bash_profile -rw-r--r-- 1 mattdmo 176 May …
71 bash  shell-script  awk  ls 

7
一致するまですべてのファイルを表示する
grep --before-context 5 一致する前に5行を表示します。 試合前にすべてを見せたいです。 行うことgrep --before-context 99999999は機能しますが、それはそれほどプロフェッショナルではありません... 一致するまですべてのファイルを表示する方法は?

7
cat出力から最初と最後の行を読み取る方法は?
テキストファイルがあります。タスク-後のファイルから最初と最後の行を取得する $ cat file | grep -E "1|2|3|4" | commandtoprint $ cat file 1 2 3 4 5 cat出力なしでこれが必要です(1と5のみ)。 ~$ cat file | tee >(head -n 1) >(wc -l) 1 2 3 4 5 5 1 たぶんawkともっと短い解決策が存在する...
64 bash  shell  sed  awk  grep 

5
別の列の値に基づいてawkを使用して列の値を合計する
を使用して列の特定の数値を合計しようとしていますawk。「スミス」の列3のみを合計して合計212を取得しawkます。「スミス」だけでなく、「スミス」を使用して列全体を合計できます。私は持っています: awk 'BEGIN {FS = "|"} ; {sum+=$3} END {print sum}' filename.txt また、私はパテを使用しています。助けてくれてありがとう。 smiths|Login|2 olivert|Login|10 denniss|Payroll|100 smiths|Time|200 smiths|Logout|10
63 linux  awk 

5
シェル変数を/ pattern /としてawkに渡す
私のシェル関数の1つに次のものがある: function _process () { awk -v l="$line" ' BEGIN {p=0} /'"$1"'/ {p=1} END{ if(p) print l >> "outfile.txt" } ' } として呼び出されると_process $arg、として$arg渡され$1、検索パターンとして使用されます。$1awkパターンの代わりにシェルが展開するため、このように動作します!またl、awkプログラム内で使用することができますを使用して宣言されています-v l="$line"。大丈夫だ。 同じ方法で変数として検索するパターンを与えることは可能ですか? 以下は機能しませんが、 awk -v l="$line" -v search="$pattern" ' BEGIN {p=0} /search/ {p=1} END{ if(p) print l >> "outfile.txt" } ' awkが/search/変数として解釈するのではなく、文字通り解釈するため。
59 shell  awk  quoting  variable 

9
Linuxでシェルスクリプトを使用してJSONを解析する方法は?
Linuxでいくつかのパラメーターを抽出する必要があるJSON出力があります。 これはJSON出力です: { "OwnerId": "121456789127", "ReservationId": "r-48465168", "Groups": [], "Instances": [ { "Monitoring": { "State": "disabled" }, "PublicDnsName": null, "RootDeviceType": "ebs", "State": { "Code": 16, "Name": "running" }, "EbsOptimized": false, "LaunchTime": "2014-03-19T09:16:56.000Z", "PrivateIpAddress": "10.250.171.248", "ProductCodes": [ { "ProductCodeId": "aacglxeowvn5hy8sznltowyqe", "ProductCodeType": "marketplace" } ], "VpcId": "vpc-86bab0e4", "StateTransitionReason": null, "InstanceId": "i-1234576", "ImageId": …

1
gawkとawkの違い
2つの関数gawkとawkの違いを理解しようとしていますか?gawk vs awkはいつ使用しますか?それとも、使用方法の面で同じですか? また、例を挙げることができますか?
50 awk  gawk 

2
行番号に基づいて文字列を置き換える
多くのファイルの特定の文字列を置き換えたい状況があります 文字列AAAを別の文字列BBBで置き換えますが、AAAで始まる文字列またはAAAで終わる文字列がたくさんあります。34行目の1つだけを置き換え、他の文字列はそのままにしておきます。 行番号で指定することは可能ですか?すべてのファイルで、この文字列は正確に34行目にあります。
50 sed  awk 

16
awkコマンドで重複した$ PATHエントリを削除する
PATH環境変数からディレクトリの重複コピーを削除できるようにするbashシェル関数を作成しようとしています。 コマンドを使用して1行のコマンドでこれを実現することは可能であると言われましたがawk、その方法はわかりません。誰もが方法を知っていますか?
48 bash  shell  awk  path 

4
逆grepping
たとえば、非常に大きなテキストファイル(約10.000.000行)があるとします。grep最後からそれをする必要があり、結果をファイルに保存します。タスクを達成する最も効率的な方法は何ですか?

5
単一の列でgrepを実行する方法は?
ls -lコマンドの出力をgrepしたい: -rw-r--r-- 1 root root 1866 Feb 14 07:47 rahmu.file -rw-r--r-- 1 rahmu user 95653 Feb 14 07:47 foo.file -rw-r--r-- 1 rahmu user 1073822 Feb 14 21:01 bar.file grep rahmu列3でのみ実行したいので、grepコマンドの出力は次のようになります。 -rw-r--r-- 1 rahmu user 95653 Feb 14 07:47 foo.file -rw-r--r-- 1 rahmu user 1073822 Feb 14 21:01 bar.file 最も簡単な方法は何ですか?答えは多くのUnixで移植可能でなければならず、できればLinuxとSolarisに焦点を合わせます。 …
42 grep  awk 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.