4

sedを使用する

  1. \ NをNULLに置き換えるにはどうすればよいですか?

  2. どうすれば空きスペースを置き換えることができますか|| NULLで。

    |200|0||0|\N||^A|0|\N||
    

希望する出力

    |200|0|NULL|0|NULL|NULL|^A|0|NULL|NULL|
4

5 に答える 5

4

これのわずかに変更されたバージョンが必要です。このようなものはGNUSedで動作します:

sed ':a; s:|\(\\N\)\?|:|NULL|:g; ta'

またはよりポータブル:

sed -e ':a' -e 's:|\(\\N\)\?|:|NULL|:g' -e 'ta'
于 2013-02-11T20:23:11.350 に答える
1

あなたが探しているコマンドは「tr」と呼ばれるかもしれないと思います。試す

tr \\n \\0
于 2013-02-11T20:23:49.830 に答える
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"}'
于 2013-02-11T20:25:32.540 に答える
0

awkで

awk 'gsub("\\\\N","NULL");gsub("\\|\\|","|NULL|")' temp.txt
于 2013-02-12T01:13:58.937 に答える
-1

sed -i 's/ /NULL/g' temp.txt

これにより、スペース文字が。に置き換えられますNULL

于 2021-03-09T22:59:27.917 に答える