从文本文件中的文件列表中提取文件名

从文本文件中的文件列表中提取文件名

也许很简单,但我的头很痛。

我有一个文件列表,其路径位于名为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对象,其中有四个主要类(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

相关内容