私はそれを検索しましたが、成功しませんでした。
パスを持つファイルがあります。すべてのパスの末尾を印刷したい。例 (ファイル内のすべての行):
/homes/work/abc.txt
--> abc.txt
誰もそれを行う方法を知っていますか?
ありがとう
awk -F "/" '{print $NF}' input.txt
次の出力が得られます。
abc1.txt
abc2.txt
abc3.txt
為に:
$>cat input.txt
text path/to/file/abc1.txt
path/to/file/abc2.txt
path/to/file/abc3.txt
awk
解決策は@Jotneと@bashophilによってすでに提供されています
ここにいくつかの他のバリエーションがあります(ただの楽しみのため)
使用するsed
sed 's:.*/::' file
使用するgrep
grep -oP '(.*/)?\K.*' file
使用cut
- @Thorによって追加されました
rev file | cut -d/ -f1 | rev
使用basename
- @fedorquiと@EdMortonが提案
while IFS= read -r line; do
basename "$line"
done < file