Awk 将文件分隔符从制表符和管道(|)更改为CTRL-A
我有两个Awk 将文件分隔符从制表符和管道(|)更改为CTRL-A,awk,sed,Awk,Sed,我有两个.txt文件,一个用TAB作为字段分隔符,另一个用|作为字段分隔符 我想将第一个文件的分隔符从选项卡更改为CTRL-A,并另存为.txt文件,第二个文件的分隔符从|更改为CTRL-A并另存为.txt文件 这两个文件是独立的文件 我们如何使用awk或sed执行此操作?对于文件一,请尝试: cat file1 | sed -e 's/\t/\x01/g' >file1.txt 对于文件2,请尝试 cat file2 | sed -e 's/\|/\x01/g' >file2.t
.txt
文件,一个用TAB
作为字段分隔符,另一个用|
作为字段分隔符
我想将第一个文件的分隔符从选项卡更改为CTRL-A
,并另存为.txt
文件,第二个文件的分隔符从|
更改为CTRL-A
并另存为.txt
文件
这两个文件是独立的文件
我们如何使用awk
或sed
执行此操作?对于文件一,请尝试:
cat file1 | sed -e 's/\t/\x01/g' >file1.txt
对于文件2,请尝试
cat file2 | sed -e 's/\|/\x01/g' >file2.txt
对于文件1,请尝试:
cat file1 | sed -e 's/\t/\x01/g' >file1.txt
对于文件2,请尝试
cat file2 | sed -e 's/\|/\x01/g' >file2.txt
另一种方法是使用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$
另一种方法是使用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$
这对tr
很有用:
tr '\t' '\001' <file1 >file1-new
tr'\t'\001'文件1新建
这将从file1上的水平选项卡执行转换,并将结果输出到file1 new。你可以用管道做同样的事情。这是tr
的一个很好的用途:
tr '\t' '\001' <file1 >file1-new
tr'\t'\001'文件1新建
这将从file1上的水平选项卡执行转换,并将结果输出到file1 new。您可以对管道执行相同的操作。请参阅,其中包含awk和sed的相关示例。Ctrl-A是什么意思?它代表什么字符?请看它包含awk和sed的相关示例。Ctrl-A是什么意思?它代表什么角色?我必须那样做。。。我永远无法让ctrl+v,ctrl+a工作:-)我必须这样做。。。我永远无法让ctrl+v、ctrl+a工作:-)