Bash

如何獲得由某個字元分隔的某些最後一個字元?

  • June 27, 2020

我有一個文件,當我輸入這個命令時,我得到了這個

root@kali-linux:~/Softwares/Softwares/Tools/dirsearch# cat hi | awk -F ' ' '{print $3}' | awk -F '://' '{print $2}' 
127.0.0.1:80/bWAPP
127.0.0.1:80/admin
127.0.0.1:80/admin/200
127.0.0.1:80/admin/200/400/500/6000/7000

所以,我想提取每一行的最後一部分,可以用 cut 來完成,但這不是我想要的,就像我這樣做

root@kali-linux:~/Softwares/Softwares/Tools/dirsearch# cat hi | awk -F ' ' '{print $3}' | awk -F '://' '{print $2}'  | cut -d '/' -f 2
bWAPP
admin
admin
admin

我得到管理員和 bWAPP。但是我想得到 bWAPP、admin、200、7000。我怎樣才能提取/lastpart該行。

你也可以使用sed

sed 's|.*/||' hi

如果要列印/每行的最後一個 -delimited 欄位,可以/用作欄位分隔符並直接訪問最後一個欄位:

awk -F '/' '{print $NF}'

引用自:https://unix.stackexchange.com/questions/594974