shell脚本中,求详细讲解哈这个意思 sed -i "s#\t#\|#g" file.txt
2个回答
展开全部
sed的替换命令格式:s/A/B/g 或者 s#A#B#g 或者 s_A_B_g
#只是分隔符而已,为满足格式需要。
将所有制表符\t替换为|
g表示全局替换,有多少次替换多少次。
#只是分隔符而已,为满足格式需要。
将所有制表符\t替换为|
g表示全局替换,有多少次替换多少次。
追问
为什么我试了,换成字母能够替换,换成制表符就不能替换了啊?
sed -i "s#\t#s#g" employee.txt
[root@VMB bash]# cat employee.txt
100 Thomas Manager Sales $5,000
追答
确认文件没有在windows上编辑过,为unix格式,不确定的话用dos2unix转格式。
dos2unix employee.txt
sed建议用单引号,此外,请确认下文件中的到底是制表符还是空格,或者两个都替换:
sed -ir 's#[\t ]+#s#g' employee.txt
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |