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$

 

相关文章:

  • 2022-12-23
  • 2022-01-14
  • 2022-12-23
  • 2022-12-23
  • 2022-02-07
  • 2022-12-23
  • 2022-12-23
  • 2021-07-21
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-23
  • 2021-11-17
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案