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

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

3
幅のawk printf番号と切り上げ
私は数字をprintfする必要がありますが、与えられた幅と丸みを帯びています(awk!で) %10s 私はこれを持っていますが、どうにかして接続する必要%dがありますが、私が行うすべてのものは、awkにはあまりにも多くのパラメータになります(私はより多くの列があるため)。
20 scripting  awk  printf 

4
長い出力を2列に分割する
スクリプトの1つからの出力を列に並べる簡単なユーティリティまたはスクリプトはありますか?私は何らかの形でデータを持っています: A aldkhasdfljhaf B klajsdfhalsdfh C salkjsdjkladdag D lseuiorlhisnflkc E sdjklfhnslkdfhn F kjhnakjshddnaskjdh ただし、これが2倍になった場合は、次の形式でデータを記述します(依然として垂直に並べられている場合)。 A aldkhasdfljhaf D lseuiorlhisnflkc B klajsdfhalsdfh E sdjklfhnslkdfhn C salkjsdjkladdag F kjhnakjshddnaskjdh マンページを読んだことから、これがcolumn適切だとは思いませんが、よくわかりません。フォームに分割するのは簡単です: A B C D E F \n2行ごとに印刷するだけです(現在のスクリプトの機能)。何か案は?ありがとう!

4
sed / awkを使用して最初のスペースの後にあるものを削除する
aaaaaaaa 09 bbbbbbbb 90 ccccccccccccccc 89 ddddd 09 sed / awk / replaceを使用して、上記のテキストでは、各行の最初のスペースの後にあるすべてのものを削除します。たとえば、出力は次のようになります。 aaaaaaaa bbbbbbbb ccccccccccccccc ddddd 任意の助けをいただければ幸いです。
20 sed  grep  awk 


3
awk繰り返し{n}が機能していません
繰り返し記号{n}を使用して行を印刷しようとしていますが、機能していません。にとって。たとえば、長さが4文字のすべての行を印刷したい awk '/^.{4}$/' test_data 上記のコードはそれを印刷していません。繰り返し記号を使用できるように修正する方法は?私のような選択肢を知っているawk '/^....$/' test_dataし、awk 'length ==3 ' test_data

5
major.minor.patchレベル、時にはrcでリストをソートするにはどうすればよいですか?
次のリストをシェルスクリプトでソートし、最新バージョンを下部または上部に表示する必要があります。シェルツールのみでそれを行うにはどうすればよいですか? release-5.0.0.rc1 release-5.0.0.rc2 release-5.0.0 release-5.0.1 release-5.0.10 release-5.0.11 release-5.0.13 release-5.0.14 release-5.0.15 release-5.0.16 release-5.0.17 release-5.0.18 release-5.0.19 release-5.0.2 release-5.0.20 release-5.0.21 release-5.0.22 release-5.0.23 release-5.0.24 release-5.0.25 release-5.0.26 release-5.0.27 release-5.0.28 release-5.0.29 release-5.0.3
18 shell-script  awk  sed  python  sort 

3
awk、sedを使用して特定のパターンを持つ行の一部を抽出する
awk / sed演算子に関して質問があります。次の一連の行が繰り返される大きなファイルがあります Expression loweWallrhoPhi : sum=-6.97168e-09 Expression leftWallrhoPhi : sum=6.97168e-09 Expression lowerWallPhi : sum=-5.12623e-12 Expression leftWallPhi : sum=5.12623e-12 Expression loweWallrhoUSf : sum=-6.936e-09 Expression leftWallrhoUSf : sum=6.97169e-09 Expression lowerWallUSf : sum=-5.1e-12 Expression leftWallUSf : sum=5.12624e-12 それぞれの場合の合計後の値を個別のファイルに抽出したい。一度に行うことは可能ですか?

7
奇数行を印刷し、偶数行を印刷します
ファイルから奇数行と偶数行を印刷したい。 エコーを利用するこのシェルスクリプトを見つけました。 #!/bin/bash # Write a shell script that, given a file name as the argument will write # the even numbered line to a file with name evenfile and odd numbered lines # in a text file called oddfile. # ------------------------------------------------------------------------- # Copyright (c) 2001 nixCraft project <http://cyberciti.biz/fb/> # …

11
巨大なファイルから膨大な数のパターンをGrep
私は1日に約200,000行成長しているファイルを持っていますが、すべて3行のブロックで構成されています。 1358726575123 # key Joseph Muller # name carpenter # job 9973834728345 Andres Smith student 7836472098652 Mariah Anthony dentist これで、別のファイルから約10,000個のキーパターンを抽出できます1358726575123。次にfor、これらのパターンでループを実行し、最初のファイルと照合する必要があります。ファイルにそのようなパターンが含まれていない場合、さらに処理するためにパターンを3番目のファイルに保存します。 for number in $(grep -o '[0-9]\{12\}' file2); do # finds about 10.000 keys if ! grep -q ^$number$ file1; then # file1 is a huge file printf "$number\n" >>file3 # …
18 grep  awk  database  text 

1
awkで配列を削除する
awkでは、ループを使用して配列をクリアし、空の配列にすることができます。これは、削除と同等です。 for (key in array) delete array[key]; もっと簡単な方法はありますか?変数名をスカラーに再利用できるように、配列を完全に削除できますか?
18 awk  array 

5
重複を削除しながら2つのリストをマージする
Busybox(OpenWRT)を使用した組み込みLinuxシステムがあるため、コマンドが制限されています。次のような2つのファイルがあります。 最初のファイル aaaaaa bbbbbb cccccc mmmmmm nnnnnn 2番目のファイル mmmmmm nnnnnn yyyyyy zzzzzz これら2つのリストを1つのファイルにマージし、重複を削除する必要があります。 私たちは偉大なを使用して取得して(スペースが限られている)の差分を持っていないawk、sedとgrep(または標準Busyboxのインスタンスに含まれている場合があります他のツール)。次のようなマージファイルに移動します。 command1 > mylist.merge command2 mylist.merge > originallist 大丈夫です。単一行のコマンドである必要はありません。 私が使用しているBusyboxのインスタンスで現在定義されている関数(デフォルトOpenWRT):[、[[、arping、ash、awk、basename、brctl、bunzip2、bzcat、cat、chgrp、chmod、chown、chroot、clear、cmp、 cp、crond、crontab、cut、date、dd、df、dirname、dmesg、du、echo、egrep、env、expr、false、fgrep、find、free、fsync、grep、gunzip、gzip、halt、head、hexdump、 hostid、hwclock、id、ifconfig、init、insmod、kill、killall、klogd、less、ln、lock、logger、logread、ls、lsmod、md5sum、mkdir、mkfifo、mknod、mktemp、mount、mv、nc、netmsg、 netstat、nice、nslookup、ntpd、passwd、pgrep、pidof、ping、ping6、pivot_root、pkill、poweroff、printf、ps、pwd、reboot、reset、rm、rmdir、rmmod、route、sed、seq、sh、sleep、 sort、start-stop-daemon、strings、switch_root、sync、sysctl、syslogd、tail、tar、tee、telnet、telnetd、test、time、top、touch、tr、traceroute、true、udhcpc、umount、uname、uniq、uptime、vconfig、vi、watchdog、wc、wget、which、xargs、yes、zcat
18 bash  grep  sed  awk  busybox 

3
いくつかの行でawkを実行する方法は?
でいくつかの行を抽出したいawk。次のタスクを実行することは可能ですか? ls -l | awk 'BEGIN FOR(i=122;i<=129;i++) FNR==i' 行番号122から129の詳細を表示するにはどうすればよいですか?
18 linux  awk 

4
ファイルを2つに分割する
大きなファイルがあり、2つのファイルに分割する必要があります。最初のファイルで1000行を選択して別のファイルに入れ、最初のファイルのそれらの行を削除するとします。 使用してみsplitましたが、複数のチャンクを作成しています。

1
grep、less、awk、sedを使用する場合[終了]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 閉じた3年前。 私はLinuxの世界に入りつつあり、職場ではgrepますます使用しています。そうすることで、私が望むものに十分でない場合があることを理解しています。 私はgrep数日前に苦労していましたが、Linuxの上級管理者である私の同僚がを使用するように言われましたawk。どれだけ早く結果を得たかに驚いた。 だから私の質問は、いつあなたが一方を他方の上に使うことを選ぶのですか?一緒に仕事をしgrepたり時間awkを節約したり、時間を節約したりする前に、どんな質問を自問することができますか?
17 awk  sed  grep  less 


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