我想用sed的单个选项卡替换所有多个选项卡.我正在尝试使用
sed 's:\t+:\t:' .\text.CSV > newtext.csv
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用
如果我在崇高中打开并用正则表达式替换它\t+,\t它可以正常工作
我的sed出了什么问题?
另外,如果我用逗号替换制表符
sed 's:\t\t*:,:g' text.CSV > newtext.csv
Run Code Online (Sandbox Code Playgroud)
我得到这种线
264262360,20030826,200308,2003,2003.6466,BUS,EMPLOYER,,,,,,BUS,,, ,,,,,,,,,,0,051,051,05,1,3.4,12,2,12,5.24866163479182,1
Run Code Online (Sandbox Code Playgroud)
dev*_*ull 15
您还可以使用tr一个标签替换多个标签:
tr -s '\t' '\t' < inputfile > outfile
Run Code Online (Sandbox Code Playgroud)
该-s选项会重复:
-s, - 挤压重复
Run Code Online (Sandbox Code Playgroud)replace each input sequence of a repeated character that is listed in SET1 with a single occurrence of that character
使用-r选项和g标志:
sed -r 's:\t+:\t:g' text.CSV > newtext.csv
Run Code Online (Sandbox Code Playgroud)
-r做+工作.
g 用于替换所有出现的标志.
UPDATE
如果您sed不支持-r选项,请尝试关注:
sed 's:\t\t*:\t:g' text.CSV > newtext.csv
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14717 次 |
| 最近记录: |