[awk] タグが付いた質問
27 件の質問
0
票
1
回答
161
閲覧数
シェルスクリプトによるログファイルの整形時、awk内で行全体の保存に失敗してしまう。
とあるサイトのアクセスログ調査のため、シェルスクリプトでログファイルを整形して別なファイルへ保存するとします。Macのターミナル(zsh)から処理を行います。
% zsh --version
zsh 5.9 (x86_64-apple-darwin22.0)
読み込み用ファイルは複数あり、「input」というディレクトリにたくさんのログファイルがあります。
ログファイルのファイル名は「...
0
票
1
回答
331
閲覧数
AWKの one-linerでファイル比較し、一致しないレコードを抽出したいですが、うまく行かないことがあります。
■実行コマンド
awk -F, 'NR==FNR{minus[$1]++; next;} !minus[$1]' file2 file1
■file2の内容
c
d
e
■file1の内容
a,あ,い,う,え,お
b,あ,い,う,え,お
c,あ,い,う,え,お
d,あ,い,う,え,お
e,あ,い,う,え,お
f,あ,い,う,え,お
g,あ,い,う,え,お
h,あ,い,う,え,お
■期待結果
a,あ,...
1
票
2
回答
205
閲覧数
awkの効率的プログラム
Windows10のコマンドプロンプトでgawk5を使っています。
ファイルが ss1.txt から ss10.txt の10個あり、対応するawkプログラムも fff1.awk から fff10.awkまで10個あります。
これらをバッチファイルで実行すると10行になります。
gawk -b -f fff1.awk ss1.txt
gawk -b -f fff2.awk ss2.txt
gawk ...
0
票
1
回答
210
閲覧数
awkの出力が思うようにいかない
下のコードを実際に動した時に
203100B
203101K
.
.
.
となって欲しいのですが全部最後に付く文字が A になってしまいます。
どこがおかしいのか教えていただけますでしょうか。
#!/usr/bin/awk -f
BEGIN{
for(i = 0;i <= 40; i++){
zyu[i]=int(i/10)
iti[i]=...
1
票
1
回答
1,494
閲覧数
シェルスクリプトで複数行の文字列を区切り文字ごとに分割して配列に格納する方法
例えば、以下に示すような文字列がある場合、これを -- ごとに分割し、順番に配列に格納したいです。
一行のみならばawkを使えばいいだけですが、複数行で同じことをやろうとしたらIFSを変更するなど試行錯誤してみたもののうまく行きません。
方法をご存知の方がいましたらご教授よろしくおねがいします。
対象の文字列:
$ cat hoge.txt
あいうえお
ああああああ
かきくけこ
あかさたな
--
...
1
票
1
回答
1,143
閲覧数
改行毎にawkで区切り、grepで特定の文字列が入っているレコードを抽出したい
address.txt から改行毎に区切り、4つのレコードとし、そのうち「合格」という文字列が入っているレコードを抽出するにはどうすればよいでしょうか。
以下のコマンドを入力したら全て出力されてしまいます。
cat address.txt | awk 'BEGIN{RS="";FS="\n"} $2=="合格"'
address.txt
...
0
票
0
回答
418
閲覧数
正規表現の先読み/後読みで直近の文字列を対象にするようにしたい
実現したいこと
次のようなデーターがあるとします。
foo<ほげほげ>bar<ふがふが>
ここから「ほげほげ」の部分だけを抽出したいです。ご存知の方が入ればお手数ですが宜しくおねがいします。
試したこと
echo "foo<ほげほげ>bar<ふがふが>" | grep -oP "(?<=foo<).*(?=&...
0
票
1
回答
183
閲覧数
awkコマンドについて
下記の内容が記されたファイルにて 2 2 2 1 1 1 (この値は変動する)の先頭3つ 2 2 2 について2倍 (計算結果 4 4 4 1 1 1 ) したい。どう表現すれば良いでしょうか?
&electrons
/
K_POINTS {automatic}
2 2 2 1 1 1
CELL_PARAMETERS {angstrom}
4.255648834196731 -2....
1
票
2
回答
365
閲覧数
Excel VBA の1回の実行で、通過した通過しなかったfunction、subを分類する方法を教えて下さい
全てのfunction, subに一行ずつ debug.print”function1通過” と書く方法しかありませんか?
書くとしたら、正規表現置き換えの方法で、対応可能ですか?
全エクスポートで、エディタの正規表現置換後、全インポートを予定しています。
例) 全てのfunction, sub2行目に debug.print "なまえ通過” を挿入する方法がありますか?
他言語でも、...
1
票
3
回答
3,109
閲覧数
awk等で、あるフィールド以降のすべてのフィールドを表示させたい
あるDIRに複数の「空白を含むファイル名(PDF名など)」が存在し、日付やWORDを含むファイル名で検索し、のちに結果を表示したいときがあります。
ls -la
-rw-rw-rw- 1 admin administrator 11794593 9月 3 2014 Cambridge University Press Programming in Mathematica An ...
0
票
1
回答
862
閲覧数
awk パターンを変数で動的に設定できるのか
単純な変数展開ではなく
echo -e 1 2 3\\n4 5 6\\n7 8 9 |
awk $1==1,$2==2,$3==3"
とすると、当然1行目の1 2 3が取得できますが
ここでパターンを変数をつかったらときどうやって取得できるでしょうか?
具体的に
変数aa="\$1==1,\$2==2,\$3==3" 注意点としては$nや 等号 も変数に含めます。
awk 'eval aa' ...
1
票
1
回答
4,161
閲覧数
awk コマンドによる列の並び替えでCRLF改行コードの扱い��ついて
はじめまして。
目的: 改行コードCRLFのcsv ファイルで列の並びを変更したい
手段: awk コマンドによって指定
例:
$ cat sample.csv
1,2,3
4,5,6
$ cat sample.csv | awk 'BEGIN{FS=",";OFS=","} {print $3,$2}' > out.csv
3,2
6,5
このとき、列の順番は期待通りの結果なのですが、...
2
票
1
回答
800
閲覧数
awkで正規表現のキャプチャの利用方法
ファル名 keisan.csv
2018年月21日,abc,\387
2018年6月23日,abc,"\1,418"
2018年6月23日,abc,\276
2018年6月30日,abc,\925
2018年6月30日,abc,\619
awkで3番目のファイールドだけを下記などで、
sum += $3
計算したいのでが、取得したcsvファイルが3桁カンマや円マークが
...
1
票
3
回答
329
閲覧数
階層構造の文字列を抽出する方法について
以下のようなテキストファイルを、シェルスクリプトにてCSVファイル形式に加工したいと考えています。
Linux上で加工出来れば、手法については拘りはありません。
実現方法が思いつかない為、アドバイス等を頂けると助かります。
・テキストファイル
ltm virtual /Common/vip-A {
destination /Common/192.168.1.1:80
ip-...
1
票
1
回答
387
閲覧数
awkで複数ファイルの入力(指定)にアスタリスクが使えますか?
①引数は1ファイル(最初のファイル?)だけですか。仕様ページを教えて下さい。
②*.csvから、「data1a2.csv data1a3.csv ......」簡単に引数(ファイル名の羅列)を作る方法を教えて下さい。
よろしくお願いします。
(参考)pandasで複数のCSVから特定行のみを抽出してCSVにしたい
rem gawk "NR==1" data1a1.csv > ...