1. 程式人生 > 實用技巧 >linux系統刪除開頭幾個字元或者結尾幾個字元

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