5

私はそれを検索しましたが、成功しませんでした。

パスを持つファイルがあります。すべてのパスの末尾を印刷したい。例 (ファイル内のすべての行):

/homes/work/abc.txt
--> abc.txt

誰もそれを行う方法を知っていますか?

ありがとう

4

3 に答える 3

7
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
于 2013-11-10T14:34:27.767 に答える
4

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
于 2013-11-10T14:28:23.597 に答える