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


9
awkの最後の2番目の列/フィールドを出力する
awkで最後から2番目の列またはフィールドを印刷したい。フィールドの数は可変です。使用できるはずですが、$NFどのように使用できるかわかりません。 そしてこれはうまくいかないようです: awk ' { print ( $NF-- ) } '
164 awk  gawk 

10
awkの複数の引数をシバン(つまり#!)で使用するにはどうすればよいですか?
シバンを使ってgawkスクリプトを実行したいの--re-intervalですが。の「素朴な」アプローチ #!/usr/bin/gawk --re-interval -f ... awk script goes here gawkは最初の引数"--re-interval -f"(空白で分割されていない)で呼び出されるため、機能しません。そのための回避策はありますか? もちろん、gawkを直接呼び出すことはできませんが、最初の引数を分割するシェルスクリプトにラップするか、またはgawkを呼び出してスクリプトを別のファイルに入れるシェルスクリプトを作成できますが、実行する方法があるかどうか疑問に思いましたこれは1つのファイル内にあります。 シバン行の動作はシステムごとに異なります-少なくともCygwinでは、引数を空白で分割しません。私はそのように動作するシステムでそれをどのように行うかを気にしているだけです。スクリプトは移植可能であることを意図していません。
118 shell  unix  awk  gawk  shebang 

11
sed、awk、またはgawkを使用して、一致するものだけを印刷する方法
sed、awk、またはgawkを使用して検索と置換などを行う方法について、多くの例とmanページを参照しています。 しかし、私の場合、特定の値を抽出するためにテキストファイルに対して実行する正規表現があります。検索と置換を行いたくありません。これはbashから呼び出されています。例を使用してみましょう: 正規表現の例: .*abc([0-9]+)xyz.* 入力ファイルの例: a b c abc12345xyz a b c これは簡単に聞こえますが、sed / awk / gawkを正しく呼び出す方法がわかりません。私が望んでいたことは、私のbashスクリプト内からです: myvalue=$( sed <...something...> input.txt ) 私が試したことは次のとおりです。 sed -e 's/.*([0-9]).*/\\1/g' example.txt # extracts the entire input file sed -n 's/.*([0-9]).*/\\1/g' example.txt # extracts nothing
100 regex  unix  sed  awk  gawk 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.