循环遍历目录中的所有文件
我想编写一个 shell 脚本,它将循环遍历目录中的所有文件并回显“put ${filename}”。有人能指出我正确的方向吗?
I want to write a shell script that will loop through all the files in a directory and echo "put ${filename}". Can anyone point me in the right direction?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
递归(包括子目录中的文件)
非递归(仅该目录中的文件)
使用
*
而不是YOUR_DIR
搜索当前目录Recursively (including files in subdirectories)
Non-recursively (only files in that directory)
Use
*
instead ofYOUR_DIR
to search the current directory对于当前目录中的所有文件夹和文件
或者,如果您只想包含子目录和文件:
如果您想包含文件夹本身,请取出
-type f
部分。For all folders and files in the current directory
Or, if you want to include subdirectories and files only:
If you want to include the folders themselves, take out the
-type f
part.如果您没有任何文件,那么我们可以这样做,而不是打印*。
If you don't have any files, then instead of printing * we can do this.
另一种使用
ls
和sed
的替代方法:以及使用
ls
和xargs
:One more alternative using
ls
andsed
:and using
ls
andxargs
:如果其中有任何子目录和文件,这也将递归地工作:
this will work also recursively if you have any sub directories and files inside them:
对于文件和目录,不递归
仅对于文件(不包括文件夹),不递归
对于递归解决方案,请参阅 Bennet Yee 的回答。
For files and directories, not recursive
For files only (excludes folders), not recursive
For a recursive solution, see Bennet Yee's answer.