一、使用ls命令获取文件名列表
$ ls
file1.txt file2.jpg file3.pdf
使用ls命令可以在当前目录下获取所有文件名列表。如果需要在其他目录下获取文件名列表,可以在ls命令后面加上目录路径。
二、使用find命令查找文件名
$ find /home/user -name 'file*.txt'
/home/user/file1.txt
/home/user/file2.txt
/home/user/file3.txt
使用find命令可以在指定目录及其子目录下查找符合条件的文件名。其中,-name选项后面跟上需查找的文件名,可以使用通配符实现模糊查找。
三、使用grep命令查找包含指定字符串的文件名
$ grep -rl 'keyword' /path/to/directory/
file1.txt
file2.txt
file3.txt
使用grep命令可以在指定目录及其子目录下查找包含指定字符串的文件名。其中,-r选项表示递归查找,-l选项表示只返回文件名而非匹配的内容。
四、使用basename命令获取文件名
$ realpath file1.txt
/path/to/file1.txt
$ basename /path/to/file1.txt
file1.txt
使用basename命令可以从文件的绝对路径中获取文件名。如果需要从符号链接中获取文件名,可以先使用realpath命令得到真实路径。
五、使用awk命令处理文件名
$ ls | awk '{print "the filename is: " $0}'
the filename is: file1.txt
the filename is: file2.txt
the filename is: file3.txt
使用awk命令可以对获取的文件名进行处理。其中,$0表示整个文本行,可以根据需要添加其他的处理代码。