#!/bin/bash#filename: getFileNames.sh#命令行运行的时候,接收路径参数,然后将文件名输出到指定文件中path=$1tagetFile=$2files=$(ls -1 -F $path | grep -v [/$])for filename in $filesdoecho "\"$filename\"" >> $2done
运行方式:$ sh getFileNames.sh /c/software/ ./filenames.txt
运行结果:输出结果到filenames.txt 文件名
$ cat filenames.txt
"aabb.txt"
"files.txt"
$ ll /c/software/
total 13
drwxr-xr-x 1 Administrator 197121 0 Jul 28 19:27 '05 win7 64bit driver'/
drwxr-xr-x 1 Administrator 197121 0 Mar 27 06:02 Windows7工具/
-rw-r--r-- 1 Administrator 197121 0 Aug 10 06:55 aabb.txt
-rw-r--r-- 1 Administrator 197121 10 Aug 10 22:00 files.txt
其他说明:
ls -1 -F $path | grep -v [/$] 过滤ls的查询结果中的文件,刨除了目录
遗留问题:
目前程序针对文件名称带有空格的会处理的存在把一个文件名分割成多个的问题,后续看看怎么解决。
参考资料:
/s/blog_4de07d5e0100ygt6.html