ラベル Bash の投稿を表示しています。 すべての投稿を表示

awkで素敵な行削除ライフ


 
cat hogehoge.txt|awk 'BEGIN{ FS="\t"; OFS="\t" }{if($1 ~ /^[0-9]/)print $0 }'>hogehoge_temp.txt


 
awk 'BEGIN{ FS="\t"; OFS="\t" }{ if(NF != 4) print $0 }' hogehoge.txt >hogehoge.txt_temp

Posted in , | Leave a comment

awkで素敵な置換ライフ

[ファイル仕様]
・データが入ってる
・区切り文字がタブ
・テキストファイル

[やりたい事]
ファイル中に下記のようなデータが含まれる 場合、""を\Nに置換したい。
※ \NはmysqlのLoad File時にNULLを表す


001 \t "" \t 100

[コード]

 
cat ${filename} |
  awk 
    'BEGIN { FS="\t"; OFS="\t" } 
    { for (i = 1; i <= NF; ++i) 
        if ($i == "" || $i == "0") $i="\\N" ; print $0
    }'
  }'




[コード解説]
FS="\t"     →    入力時の区切り文字をタブに
OFS="\t"   →    出力時の区切り文字をタブに
NF             →    現在レコードのフィールド数
$1,...,$NF     →    第1フィールド,...,第NFフィールド
$0             →    現在の入力レコード(今回はcatで1行ずつ出力しているので1行すべて)




[結果]

001 \t "" \t 100 → 001 \t \N \t 100

パチパチ

[参考]
AWKのまとめ

awkもっとちゃんと使えるようになりたい!

Posted in , , | Leave a comment

Search

Swedish Greys - a WordPress theme from Nordic Themepark. Converted by LiteThemes.com.