Unix 对不包含文本的文件名执行操作的终端命令
我有一个目录,里面有很多文件,名称如下:Unix 对不包含文本的文件名执行操作的终端命令,unix,terminal,cp,Unix,Terminal,Cp,我有一个目录,里面有很多文件,名称如下: file_name_is_001 file_name_001 file_name_is_002 file_name_002 file_name_is_003 file_name_003 我只想复制不包含“is”的文件。我不知道该怎么做。我试图搜索它,但似乎无法用谷歌搜索正确的短语来查找结果。详细信息取决于操作系统、shell等。 对于unix系统,一种非常详细但易于理解的方法可能如下所示:请注意,我没有对其进行测试: mkdir some_tempor
file_name_is_001
file_name_001
file_name_is_002
file_name_002
file_name_is_003
file_name_003
我只想复制不包含“is”的文件。我不知道该怎么做。我试图搜索它,但似乎无法用谷歌搜索正确的短语来查找结果。详细信息取决于操作系统、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
详细信息取决于操作系统、外壳等。 对于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
您可以使用bash来实现这一点。首先,下面是一个命令,用于获取不包含文本\u is\u的文件列表:
这将获取ls的输出,并使用grep-v将所有值与不包含_is_u匹配
为了复制这些文件,我们需要将grep输出的行转换为cp的参数。我们可以使用xargs:
ls | grep-v | u是| xargs-J%cp%新文件夹
在xargs手册页中,它是一个从标准输入构建和执行命令行的工具。您可以使用bash来实现这一点。首先,下面是一个命令,用于获取不包含文本\u is\u的文件列表:
这将获取ls的输出,并使用grep-v将所有值与不包含_is_u匹配
为了复制这些文件,我们需要将grep输出的行转换为cp的参数。我们可以使用xargs:
ls | grep-v | u是| xargs-J%cp%新文件夹
在xargs手册页中,它是一个从标准输入构建和执行命令行的工具