如何与--output-delimiter=""
一起使用cut ?我想用cut来连接两列。
我尝试了以下命令。然而,cat -v
显示有不可打印的字符。特别是"^@
"。我该如何克服这个问题,有什么建议吗?
cut -d, -f 3,6 --output-delimiter="" file1.csv | cat -v
这是我的文件
011年,IBM,帕尔米萨诺,t, t, t
012年,intel,欧德宁,t, t, t
013年,SAP施杰翰,t, t, t
014年,VMW Maritz如是说,t, t, t
015年,李艾科,埃里森,t, t, t
017年,RHT Whitehurst t, t, t
当我运行命令时,我看到
帕米萨诺^ @t
欧德宁^ @t
施杰翰^ @t
Maritz如是说^ @t
埃里森^ @t
Whitehurst ^ @t
期望输出:基本上我想在输出
Palmisanot
Otellinit
Snabet
Maritzt
Ellisont
Whitehurstt
谢谢。
输出分隔符不是空字符串,而可能是NULL
字符。你可以试试
cut -d, -f 3,6 --output-delimiter=$' 0' file1.csv
(假设您的shell支持$'...'
-引号;bash
和zsh
在这里很好,不确定其他的)。
编辑:
如果输出分隔符设置为空字符串, cut
显然会放置NULL
字符。我看不出有什么办法。
如果awk
是一个可接受的解决方案,这将达到目的:
awk -F, '{print $3 $6}' file*
如果你想更详细和明确:
awk 'BEGIN{FS=","; OFS=""}; {print $3,$6}' file*
FS=","
设置字段分隔符为,
。OFS=""
设置输出字段分隔符为空字符串。
您可能不想按字段进行切割,而是按字符或字节进行切割。请参阅手册页中-c
和/或-b
的描述,而不是使用-f
。