gpt4 book ai didi

linux - 如何通过单个扩展名复制所有文件

转载 作者:太空宇宙 更新时间:2023-11-04 04:54:23 25 4
gpt4 key购买 nike

我有文件列表 a.xxx a.yyy。 a.zzz

我需要通过扩展名选择来复制所有文件例如

ls *.xxx | xargs cp a.* dir

我写了这样的代码

ls mysql/db/*.MYD | xargs -n1 基本名称 | sed 's/\.MYD//g' | sed 's/\.MYD//g' | xargs -i cp mysql/db/{}.* new_folder

但出现错误

cp: cannot stat 'mysql/db/ps_opc_social_customer.*'

最佳答案

这里的问题是 *在最后一个命令中,当您按回车键时,shell 立即展开,因此复制命令不会得到展开的字符串,而是文字 <file>.*字符串。您需要一次性获取所需的所有文件,或者使用新的 shell 来为您进行 glob 扩展:

ls mysql/db/*.MYD | xargs -n1 basename | sed 's/\.MYD//g' | xargs -i bash -c "cp mysql/db/{}.* new_folder"

关于linux - 如何通过单个扩展名复制所有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51240351/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com