我的目录中包含名称如下的文件:
file_name_is_001
file_name_001
file_name_is_002
file_name_002
file_name_is_003
file_name_003
我只想复制不包含'is'的文件。我不知道该怎么做。我试图搜索它,但似乎无法谷歌搜索结果的正确短语。
答案 0 :(得分:2)
详细信息取决于操作系统,shell等。 对于unix系统,一个非常冗长但易于理解的方法可能看起来像这样(请注意我没有测试它):
mkdir some_temporary_directory
mv *_is_* some_temporary_directory
cp * where_ever_you_want_to_copy_it
mv some_temporary_directory/* .
rmdir some_temporary_directory
答案 1 :(得分:2)
您可以使用bash
执行此操作。首先,这是一个命令,可以为您提供不包含文本_is_
的文件列表:
ls | grep -v "_is_"
这将获取ls
的输出,并使用_is_
匹配所有不包含grep -v
的值。
为了复制这些文件,我们需要将grep输出的行转换为cp
的参数。我们可以使用xargs
:
ls | grep -v "_is_" | xargs -J % cp % new_folder
在xargs
手册页中,它是一个工具,用于从标准输入"构建和执行命令行。