テキストファイルのファイルリストからファイル名を抽出する

テキストファイルのファイルリストからファイル名を抽出する

たぶん簡単なことですが、頭が痛いです。

次のパスを持つファイルのリストがありますstuff.txt

c:\users\none\file1.txt  
c:\users\none\file2.txt  
g:\home\share\make.log 

次のようにファイル名を別のファイルに簡単に出力するにはどうすればよいですか?

file1.txt  
file2.txt  
make.log

よろしくお願いします。

答え1

awk -F'\' '{ print $NF }' stuff.txt

フィールド区切り文字を設定し、\各行の最後のフィールドを印刷します。

答え2

使用幸せ(以前のPerl_6)

~$ raku -ne 'put IO::Spec::Win32.basename($_);'   stuff.txt

#OR

~$ raku -ne 'put IO::Spec::Win32.basename($_.trim-trailing);'   stuff.txt

RakuはPerlファミリーのプログラミング言語です。上記のコードはファイルパスを取得し、それをIOオブジェクトとして扱います。オブジェクトには4つの主要クラス(Unix、Windows、Cygwin、およびQNX)があります。 Windowsパスがあるため、IO::Spec::Win32このメソッドが呼び出されます(パス区切り文字を正しく理解するため)。最後にbasenameファイル名を教えてください。行の末尾に使用またはtrim消去できるスペースがあるようですtrim-trailing

入力例:

c:\users\none\file1.txt  
c:\users\none\file2.txt  
g:\home\share\make.log

出力例:

file1.txt
file2.txt
make.log

https://docs.raku.org/type/IO/Spec/Win32
https://docs.raku.org/routine/basename
https://raku.org

関連情報