使用shell脚本,我想从以下目录结构中删除文本文件,日志文件和CSV文件,同时保持目录结构不变:
|
|------bar/
|
|---file1.txt
|---file2.txt
|
|---subdir1/
| |---file1.log
| |---file2.log
|
|---subdir2/
|---image1.log
|---image2.log
Run Code Online (Sandbox Code Playgroud)
我正在使用rm -rf /bar/*,所以我得到以下结果:
|------bar/
Run Code Online (Sandbox Code Playgroud)
但是,我想要以下结果:
|
|------bar/
|
|
|
|
|---subdir1/
|
|
|
|---subdir2/
Run Code Online (Sandbox Code Playgroud)
在UNIX上(或在使用cygwin的Windows上):
老套:
find bar -type f -name "*.txt" -o -name "*.log" -o -name "*.csv" -print0 |
xargs -0 rm -f
Run Code Online (Sandbox Code Playgroud)
使用GNU find(由mklement0建议):
find bar -type f -name "*.txt" -o -name "*.log" -o -name "*.csv" -delete
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1119 次 |
| 最近记录: |