GNU/Linux >> Linux の 問題 >  >> Linux

AWKを使用して特定の列に特定の値を持つ行を選択する

スクリプトを実行するファイルには、DOS 行末があります。 Windows マシンで作成された可能性があります。

dos2unix を使用 Unix テキスト ファイルに変換します。

または、 tr まで実行します :

tr -d '\r' <input.txt >input-unix.txt

次に input-unix.txt を使用します それ以外の場合は正しい awk コード。

awk を変更するには 入力ファイルの代わりのコード:

awk -F, '$7 == "-99\r"' input.txt >output.txt

これにより、行末のキャリッジ リターンが考慮されます。

または、

awk -F, '$7 + 0 == -99' input.txt >output.txt

これにより、7 番目の列が数値として解釈され、キャリッジ リターンが「削除」されます。

同様に、

awk -F, 'int($7) == -99' input.txt >output.txt

\r も削除します .


awk -F, '{if($7==-99)print $0}'

そうします...


Linux
  1. Notify-Send With Cronを使用していますか?

  2. ディレクトリ付きの猫ファイル?

  3. GNU Diff のパーセンテージ値

  1. Curl が特定のヘッダーの値を書き出す

  2. 列値条件で awk を使用する

  3. ddを使用してFFでファイルをパディングする方法は?

  1. grep と awk の使用

  2. 特定の列の内容を awk に置き換える方法は?

  3. awk を使用して、別の列の値に基づいて列の値を合計する