我有一个 unix csv 文件作为管道“|” 分隔器 。但是当我在 vi 编辑器中打开时,有一些额外的字符以 ~G 的形式出现。但是当我在做 cat 时,我看不到任何 ~G 字符。
453136~G|OORAHASS0343136~G|通用盒接入~G|NMBLDD~G|/shelf=0/slot=1/port=7~G|20Mbit/s~G|80Mbit/s~G|IS
如何删除 ~G 字符。
我已经尝试过以下步骤,但没有运气。
sed -e 's/[^ -~]//g' file_in > file_out
Run Code Online (Sandbox Code Playgroud)
或者
grep -c '[^ -~]' file_in
Run Code Online (Sandbox Code Playgroud)
或者
sed -i 's/\~H//g;s/\~G//g' file_in
Run Code Online (Sandbox Code Playgroud) 我想在文件的每一行后附加一些字符串,除了文件的页眉和页脚。所以我使用下面的命令来更改除页眉和页脚之外的行的范围,但它删除页眉和页脚,我不想删除页眉和页脚行。
sed -n '2,5p; '"$str_var"'' abc.dat > abc.dat.temp
Run Code Online (Sandbox Code Playgroud)
甚至我试图通过使用下面的命令跳过标题并修改其他行,但没有页脚/拖尾行的选项以保持不变。
sed '1! s/$/'"$str_var"'/g' abc.dat > abc.dat.temp
Run Code Online (Sandbox Code Playgroud)
任何关于如何更改文件除页眉和页脚行以外的所有行的建议,并且该命令不应删除页眉/页脚行。