我有两个.txt
个文件,一个用TAB
作为字段分隔符,另一个用|
作为字段分隔符。
我想将分隔符从TAB
更改为CTRL-A
并将.txt
文件另存为第一个文件,对于第二个文件,将分隔符从|
更改为{ {1}}并保存为CTRL-A
文件。
这两个文件是单独的文件。
我们如何使用.txt
或awk
?
答案 0 :(得分:3)
对于文件一,请尝试:
cat file1 | sed -e 's/\t/\x01/g' >file1.txt
对于文件二,请尝试
cat file2 | sed -e 's/\|/\x01/g' >file2.txt
答案 1 :(得分:2)
这对tr
:
tr '\t' '\001' <file1 >file1-new
这将从file1上的水平制表符执行转换,并将结果输出到file1-new。你可以用管子做同样的事情。
答案 2 :(得分:0)
使用perl
的替代方案:
更换管道:
echo "a|b|c" | perl -pe '$c=chr(1); s/\|/$c/g' | cat -A
a^Ab^Ac$
更换标签:
echo -e "a\tb\tc" | perl -pe '$c=chr(1); s/\t/$c/g' | cat -A
a^Ab^Ac$