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

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


5
ファイル内のテキストをgrepし、そのテキストを含む段落を表示する方法は?
ファイル内のテキストは次のとおりです。 Pseudo name=Apple Code=42B state=fault Pseudo name=Prance Code=43B state=good 「42B」をgrepして、上記のテキストから次のような出力を取得する必要があります。 Pseudo name=Apple Code=42B state=fault grep/ awk/ を使用してこれを達成する方法について誰にもアイデアがありますsedか?


3
差分、正しいファイルの変更された行のみを表示
私はファイルを持っていますa、bそしてb、それがクローンされたので、それの変更された行を出力したいと思いますa。変更された行のみ、周囲のコンテキスト、差分オフセットマークはありません。 シェルスクリプトを使用してこれを行うにはどうすればよいですか?(Python / Perl / PHP /なし) Sedとawkは許容可能なソリューションです。 今のところ、--suppress-common-linesでdiff -yを行い、正規表現の後方参照を使用してsedを実行し、空白の後の正しい部分を取得します。より良い方法があるはずです? perl(禁止)を使用して、次のようなことをします。 diff -y --suppress-common-lines -W $COLUMNS Eclipse_Preferences_Export_*.epf | perl -pe 's/.*\t|\t(.*)$/\1/g'
24 shell-script  sed  awk  diff 

7
AWK内でbashシェル関数を使用する
AWK内でbash関数を何らかの形で使用することは可能ですか? サンプルファイル(string、int、int、int) Mike 247808 247809 247810 値を10進数から16進数に変換しようとしています。 .bashrcまたはシェルスクリプトで定義された関数。 awk '{print $1 ; d2h($2)}' file awk:未定義の関数d2h入力レコード番号1、ファイルファイルソース行番号1の呼び出し
24 bash  awk 

7
2つのタグ間のテキスト
これら2つのタグの間にあるものはすべて<tr> </tr>、HTMLドキュメントから取得したいです。現在、HTMLパーサーを保証する特定のHTML要件はありません。私は単に一致<tr>し</tr>、その間にすべてを取得するものが必要であり、複数trのものが存在する可能性があります。私はawkを試しましたが、それはうまくいきますが、何らかの理由で抽出された各行の複製を与えることになります。 awk ' /<TR/{p=1; s=$0} p && /<\/TR>/{print $0 FS s; s=""; p=0} p' htmlfile> newfile これについてどうやって行くのですか?

2
パイプから読み取るときにawkが完全なバッファリングを行う理由
nmea文字列を送信するgpsデバイスに接続されたシリアルポートから読み取ります。 私の要点を説明するための簡略化された呼び出し: $ awk '{ print $0 }' /dev/ttyPSC9 GPGGA,073651.000,6310.1043,N,01436.1539,E,1,07,1.0,340.2,M,33.3,M,,0000*56 $GPGSA,A,3,28,22,09,27,01,19,17,,,,,,2.3,1.0,2.0*39 $GPRMC,073651.000,A,6310.1043,N,01436.1539,E,0.42,163.42,070312,,,A*67 GPGGA,073652.000,6310.1043,N,01436.1540,E,1,07,1.0,339.2,M,33.3,M,,0000*55 $GPGSA,A,3,28,22,09,27,01,19,17,,,,,,2.3,1.0,2.0*39 代わりにパイプから読み取ろうとすると、awkは入力をバッファしてからstdoutに送信します。 $ cat /dev/ttyPSC9 | awk '{ print $0 }' <long pause> GPGGA,073651.000,6310.1043,N,01436.1539,E,1,07,1.0,340.2,M,33.3,M,,0000*56 $GPGSA,A,3,28,22,09,27,01,19,17,,,,,,2.3,1.0,2.0*39 $GPRMC,073651.000,A,6310.1043,N,01436.1539,E,0.42,163.42,070312,,,A*67 GPGGA,073652.000,6310.1043,N,01436.1540,E,1,07,1.0,339.2,M,33.3,M,,0000*55 $GPGSA,A,3,28,22,09,27,01,19,17,,,,,,2.3,1.0,2.0*39 バッファリングを回避するにはどうすればよいですか? 編集:カイルジョーンズは、猫がその出力をバッファリングしているが、それは起こっていないようだと示唆した: $ strace cat /dev/ttyPSC9 | awk '{ print $0 }' write(1, "2,"..., 2) = 2 read(3, "E"..., …
23 awk  tty  serial-port 

5
sedまたはawkでCSVファイルを操作する方法は?
sedまたはを使用してCSVファイルに次のことを行うにはどうすればよいawkですか? 列を削除する 列を複製する 列を移動する 200行を超える大きなテーブルがありますが、にあまり詳しくありませんsed。
23 sed  awk  csv 

7
コンマ区切りファイルでのみ引用符の間のコンマを削除します
入力ファイルがコンマ(,)で区切られています。二重引用符で囲まれたいくつかのフィールドには、カンマが含まれています。ここにサンプル行があります 123,"ABC, DEV 23",345,534.202,NAME 二重引用符と二重引用符内で発生するすべてのコンマを削除する必要があります。したがって、上記の行は以下に示すように解析されるはずです 123,ABC DEV 23,345,534.202,NAME を使用して次のことを試みましたsedが、期待した結果が得られませんでした。 sed -e 's/\(".*\),\(".*\)/\1 \2/g' sed、awkまたはその他のUNIXユーティリティを使用した簡単なトリックはありますか?
23 text-processing  sed  awk  csv 

3
awk / pattern / {print“ text”} / patern / {print“”}を使用する場合、ELSEパターンはありますか?
次のようなテキストファイルがあるとします。 R1 12 324 3453 36 457 4 7 8 R2 34 2342 2525 25 25 26 26 2 2 R3 23 2342 32 52 54 543 643 63 R4 25 234 2342 4 234242 awkこれらの行を別々に処理するために使用したい awk '/R1/ { print "=>" $0} /R2/ { print "*" $0} ' また、残りのすべての行をそのまま(既に処理した行を複製せずに)印刷したいので、基本的には行の/ELSE/ { …
22 awk 

11
日付を減算するUNIXのツール
Solaris UNIXには日付を減算するツールがありますか(GNUツールはありません)?Linuxでは、gawkある日付を別の日付から差し引くことができることを知っています。ただし、Solarisでは、日付の計算を実行できない最大値nawk(改善awk)があります。また、perlは使用できません。 のような日付計算を行う方法はあります20100909 - 20001010か? 更新:bc日付の計算を実行できますか?
22 shell  solaris  awk  utilities  date 

13
ファイルからすべてのコメントを削除するにはどうすればよいですか?
コメント付きのファイルがあります: foo bar stuff #Do not show this... morestuff evenmorestuff#Or this コメントされていないコードをすべて印刷したいだけです。 foo bar stuff morestuff evenmorestuff ファイルからコメントを取り除くことができることはとても重要です...それを行う良い方法は何ですか?

5
awkプログラムのパスからファイル名を抽出する
awkスクリプトがあり、CSVファイルを渡しました。 awk -f script.awk /home/abc/imp/asgd.csv 私がやっていることはFILENAMEを取得することscript.awkです。FILENAMEは私に完全なパスを提供します。私はawkにいるので使用できませんbasename FILENAME。 print FILENAME; /home/abc/imp/asgd.csv 私はこれで試しました script.awk echo $FILENAME | awk -F"/" '{print $NF}' しかし、私はこれを実行できませんscript.awk。asgd.csvawkプログラム内で取得するにはどうすればよいですか?
21 awk  filenames 

3
シェルコマンドを使用してすべての行に行番号を追加するにはどうすればよいですか?
私のファイル、 PSS-A (Primary A) PSS-B (Primary B) PSS-C (Primary C) PSS-D (Primary D) PSS-E (Primary E) PSS-F (Primary F) PSS-G (Primary G) PSS-H (Primary H) PSS-I (Primary I) SPARE (SPARE) 出力ファイル、 1> PSS-A (Primary A) 2> PSS-B (Primary B) 3> PSS-C (Primary C) 4> PSS-D (Primary D) 5> PSS-E (Primary …

2
awkでの大文字と小文字を区別しない検索
awkを使用してキーワードを検索する必要がありますが、大文字と小文字を区別しない(大文字と小文字を区別しない)検索を実行したいです。 最良のアプローチは、検索語(「キーワード」)とawkが同時に読んでいるターゲット行の両方を大文字にすることだと思います。この質問から、私toupperはすべて大文字で印刷する方法を使用しますが、マッチでそれを使用する方法がわかりません。なぜなら、その答えは単に印刷を示し、大文字のテキストを変数に残さないからです。 この入力が与えられた例を次に示します。 blablabla &&&Key Word&&& I want all these text and numbers 123 and chars !"£$%& as output &&&KEY WORD&&& blablabla この出力が欲しい: I want all these text and numbers 123 and chars !"£$%& as output これは私が持っているものですが、追加する方法がわかりませんtoupper: awk "BEGIN {p=0}; /&&&key word&&&/ { p = ! p ; next } …

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