linux系统中awk命令删除行首行尾的空格和制表符


1、测试数据

[root@linuxprobe test]# ls ## 测试数据 a.txt [root@linuxprobe test]# cat a.txt fd gfd fgd fsdafds dfs sfa [root@linuxprobe test]# cat -A a.txt fd gfd fgd^I^I$ fsdafds $ ^I^Idfs$ ^I^Isfa^I $ [root@linuxprobe test]# sed -n l a.txt fd gfd fgd\t\t$ fsdafds $ \t\tdfs$ \t\tsfa\t $

 

2、删除行首空格和制表符

[root@linuxprobe test]# awk '{sub(/^[\t ]*/,"");print}' a.txt fd gfd fgd fsdafds dfs sfa [root@linuxprobe test]# awk '{sub(/^[\t ]*/,"");print}' a.txt | cat -A fd gfd fgd^I^I$ fsdafds $ dfs$ sfa^I $ [root@linuxprobe test]# awk '{sub(/^[\t ]*/,"");print}' a.txt | sed -n l fd gfd fgd\t\t$ fsdafds $ dfs$ sfa\t $

 

3、awk命令删除行位空格和制表符

[root@linuxprobe test]# cat -A a.txt fd gfd fgd^I^I$ fsdafds $ ^I^Idfs$ ^I^Isfa^I $ [root@linuxprobe test]# sed -n l a.txt fd gfd fgd\t\t$ fsdafds $ \t\tdfs$ \t\tsfa\t $ [root@linuxprobe test]# awk '{sub(/[\t ]*$/,"");print}' a.txt fd gfd fgd fsdafds dfs sfa [root@linuxprobe test]# awk '{sub(/[\t ]*$/,"");print}' a.txt | cat -A fd gfd fgd$ fsdafds$ ^I^Idfs$ ^I^Isfa$ [root@linuxprobe test]# awk '{sub(/[\t ]*$/,"");print}' a.txt | sed -n l fd gfd fgd$ fsdafds$ \t\tdfs$ \t\tsfa$

 

4、同时删除行首行尾空格和制表符

[root@linuxprobe test]# awk '{sub(/^[\t ]*|[\t ]*$/,"");print}' a.txt fd gfd fgd fsdafds dfs sfa [root@linuxprobe test]# awk '{sub(/^[\t ]*|[\t ]*$/,"");print}' a.txt | cat -A fd gfd fgd^I^I$ fsdafds $ dfs$ sfa^I $ [root@linuxprobe test]# awk '{gsub(/^[\t ]*|[\t ]*$/,"");print}' a.txt | cat -A  ## 用sub替换gsub fd gfd fgd$ fsdafds$ dfs$ sfa$

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM