复制
收藏
提问
全网
在当前目录中有zebra和dog两个子目录,将zebra子目录下文件名以b或e或g开头 中间是2个字符 以ln结尾的文件(包括子目录),交互式地复制到dog子目录中,请写出命令。
6月前
理解问题在当前目录中有zebra和dog两个子目录,将zebra子目录下文件名以b或e或g开头 中间是2个字符 以ln结尾的文件(包括子目录),交互式地复制到dog子目录中,请写出命令。
已完成理解「在当前目录中有zebra和dog两个子目录,将zebra子目录下文件名以b或e或g开头 中间是2个字符 以ln结尾的文件(包括子目录),交互式地复制到dog子目录中,请写出命令。」
展开阅读网页
要实现您所描述的操作,我们需要使用find
命令来查找符合条件的文件,然后使用cp
命令将这些文件复制到目标目录中。以下是实现这一操作的命令步骤:
-
使用
find
命令查找当前目录中zebra
子目录下符合条件的文件。根据您提供的条件,文件名以b
或e
或g
开头,中间是2个字符,以ln
结尾。 -
使用
cp
命令将找到的文件复制到dog
子目录中。
以下是具体的命令:
find zebra -type f $ -name 'b??ln' -o -name 'e??ln' -o -name 'g??ln' $ -exec cp -- {} dog/ \;
这里的命令解释如下:
find zebra
:在当前目录中的zebra
子目录下查找文件。-type f
:只查找文件类型。$ -name 'b??ln' -o -name 'e??ln' -o -name 'g??ln' $
:使用-name
参数和通配符?
来匹配任意单个字符,以及使用-o
来表示“或”的关系,以匹配以b
、e
或g
开头,中间是两个任意字符,以ln
结尾的文件名。-exec cp -- {} dog/ \;
:对找到的每个文件执行cp
命令,将它们复制到dog
子目录中。{}
是一个占位符,代表find
命令找到的每个文件的路径。--
是用来防止路径中的-
参数被解释为cp
的选项。
请注意,这个命令是交互式的,因为它会提示您确认每个文件的复制操作。如果您希望自动复制所有匹配的文件而不进行交互,可以去掉cp
命令中的--
选项。510
更专业一些
转笔记
专业
在当前目录中有zebra和dog两个子目录,将zebra子目录下文件名以b或e或g开头 中间是2个字符 以ln结尾的文件(包括子目录),交互式地复制到dog子目录中,请写出命令。不在提醒