我在ma bash脚本中使用cp命令
cp /source/* /destination
我只是想避免将所有.txt文件从源复制到目标。
非常感谢
答案 0 :(得分:6)
如果启用了扩展球状搜索,则可以匹配除txt文件之外的所有文件:
cp /source/!(*.txt) /destination
*.txt
与所有txt文件匹配。 !(...)
告诉它匹配除...
部分中的内容以外的所有内容。
答案 1 :(得分:1)
我不知道您是否可以复制执行此操作,但是rsync命令具有此功能。试试
rsync -av / source / * / destination-排除“ * txt”。
有关更多详细信息和示例,请参见https://www.howtogeek.com/168009/how-to-exclude-files-from-rsync/。
答案 2 :(得分:0)
尝试
find . -maxdepth 1 -type f \( ! -iname "*.txt" \) -print0 | xargs -0 cp {} /destination
使用-print0和-0处理名称中可能有空格的文件。