sedを使用する
\ NをNULLに置き換えるにはどうすればよいですか?
どうすれば空きスペースを置き換えることができますか|| NULLで。
|200|0||0|\N||^A|0|\N||
希望する出力
|200|0|NULL|0|NULL|NULL|^A|0|NULL|NULL|
これのわずかに変更されたバージョンが必要です。このようなものはGNUSedで動作します:
sed ':a; s:|\(\\N\)\?|:|NULL|:g; ta'
またはよりポータブル:
sed -e ':a' -e 's:|\(\\N\)\?|:|NULL|:g' -e 'ta'
あなたが探しているコマンドは「tr」と呼ばれるかもしれないと思います。試す
tr \\n \\0
<file sed 's/\\N/NULL/g' | awk -F\| '{for(i=2;i<=NF;i++){ if($i==""){ printf "|NULL"} else{ printf "|%s", $i}}; printf "|\n"}'
awkで
awk 'gsub("\\\\N","NULL");gsub("\\|\\|","|NULL|")' temp.txt
sed -i 's/ /NULL/g' temp.txt
これにより、スペース文字が。に置き換えられますNULL
。