Linux Shell获取文件夹下的文件名

文章作者:Tyan
博客:noahsnail.com  |  CSDN  |  简书

有时候需要获取某个文件夹下的所有文件名,可以用程序实现,但是打开IDE,编译运行太麻烦,在Linux服务器中通常不能打开IDE,此时可以用几行简单的shell命令来实现,结果保存到某个文件中即可。

Shell脚本如下:

#!/bin/bash
# get all filename in specified path

path=$1
files=$(ls $path)
for filename in $files
do
   echo $filename >> filename.txt
done
Linux下,可以使用以下几种方法来获取文件夹下的文件名: 1. 使用ls命令:可以使用ls命令来获取指定文件夹下的文件名。例如,要获取当前目录下的所有文件名,可以执行命令:`ls`。要获取指定目录(如/home/user/Documents)下的所有文件名,可以执行命令:`ls /home/user/Documents`。使用ls命令还可以使用相关选项,如`ls -l`可以显示文件的详细信息,`ls -a`可以显示包括隐藏文件在内的所有文件。 2. 使用find命令:可以使用find命令来递归地查找指定目录下的文件,并获取文件名。例如,要获取当前目录下的所有文件名,可以执行命令:`find .`。要获取指定目录下的所有文件名,可以执行命令:`find /home/user/Documents`。 3. 使用ls命令配合管道和其他命令:可以使用ls命令结合管道和其他命令来进一步处理获取文件名。例如,要获取当前目录下的所有文件名,并将其存储到一个文件中,可以执行命令:`ls > filenames.txt`。要获取指定目录下的所有文件名,并将包含特定字符串的文件名输出到屏幕上,可以执行命令:`ls /home/user/Documents | grep "string"`。 4. 使用shell脚本编程:还可以使用shell脚本编程来获取文件夹下的文件名。可以使用for循环结合通配符来遍历文件夹,并获取文件名。例如,以下是一个获取指定目录下文件名的示例脚本: ```shell #!/bin/bash directory="/home/user/Documents" for file in $directory/*; do echo $(basename "$file") done ``` 以上是几种常见的方法,可以根据具体需求选择合适的方法来获取文件夹下的文件名
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值