我有一个名为file.txt
的文件,其结构如下:
./a/b/c/sdsd.c
./sdf/sdf/wer/saf/poi.c
./asd/wer/asdf/kljl.c
./wer/asdfo/wer/asf/asdf/hj.c
我怎样从路径中获取仅包含c文件名的列表? 也就是说,我的输出将只包括c文件。
sdsd.c
poi.c
kljl.c
hj.c
awk 'BEGIN{FS="/"} {print $NF}' file.txt
或者
awk -F/ '{print $NF}' file.txt
rev file.txt | cut -d '/' -f1 | rev
basename
命令:basename /a/b/c/sdsd.c
这将为您提供sdsd.c文件。
要列出file.txt
中的文件列表,可以执行以下操作:
while IFS= read -r line; do basename "$line"; done < file.txt
while IFS= read -r line
,并且除非您有特定原因并理解后果,否则始终引用您的变量。 - Ed Mortonperl -F/ -ane 'print $F[@F-1]' your_file
你也可以使用sed命令:
sed 's/.*[/]//g' your_file
sed
命令:$ sed 's|.*/||g' file
sdsd.c
poi.c
kljl.c
hj.c
awk '{print $NF}' FS=/
和awk '{$0=$NF}1' FS=/
。 - William Pursell