linux系统删除开头几个字符或者结尾几个字符

1、创建测试数据

[root@linuxprobe test3]# cat a.txt
wrwrt fdgsaf
fsads gdfgde
fsddd dffgdf
sfdef sdfdsg

2、

[root@linuxprobe test3]# sed 's/.//' a.txt ##删除开头一个字符
rwrt fdgsaf
sads gdfgde
sddd dffgdf
fdef sdfdsg
[root@linuxprobe test3]# sed 's/..//' a.txt ##删除开头两个字符
wrt fdgsaf
ads gdfgde
ddd dffgdf
def sdfdsg 
[root@linuxprobe test3]# sed 's/...//' a.txt  ##同上
rt fdgsaf
ds gdfgde
dd dffgdf
ef sdfdsg

[root@linuxprobe test3]# sed 's/.\{3\}//' a.txt ##删除开头的三个字符
rt fdgsaf
ds gdfgde
dd dffgdf
ef sdfdsg

 
[root@linuxprobe test3]# awk '{print substr($0,2,length($0))}' a.txt ## 删除第一个字符
rwrt fdgsaf
sads gdfgde
sddd dffgdf
fdef sdfdsg
[root@linuxprobe test3]# awk '{print substr($0,3,length($0))}' a.txt ##删除前两个字符
wrt fdgsaf
ads gdfgde
ddd dffgdf
def sdfdsg

3、

[root@linuxprobe test3]# sed 's/.$//' a.txt ## 删除最后一个字符
wrwrt fdgsa
fsads gdfgd
fsddd dffgd
sfdef sdfds
[root@linuxprobe test3]# sed 's/..$//' a.txt ##删除最后两个字符
wrwrt fdgs
fsads gdfg
fsddd dffg
sfdef sdfd
[root@linuxprobe test3]# sed 's/...$//' a.txt ##同上
wrwrt fdg
fsads gdf
fsddd dff
sfdef sdf

[root@linuxprobe test3]# sed 's/.\{3\}$//' a.txt ##删除结尾的三个字符
wrwrt fdg
fsads gdf
fsddd dff
sfdef sdf

 
[root@linuxprobe test3]# awk '{print substr($0,1,length($0)-1)}' a.txt ## 删除最后一个字符
wrwrt fdgsa
fsads gdfgd
fsddd dffgd
sfdef sdfds
[root@linuxprobe test3]# awk '{print substr($0,1,length($0)-2)}' a.txt ##删除最后两个字符
wrwrt fdgs
fsads gdfg
fsddd dffg
sfdef sdfd
[root@linuxprobe test3]# awk '{print substr($0,1,length($0)-3)}' a.txt ##同上
wrwrt fdg
fsads gdf
fsddd dff
sfdef sdf

  

原文地址:https://www.cnblogs.com/liujiaxin2018/p/13799865.html