将etc中以数字结尾的文件复制到test1目录

问题描述 投票:0回答:3

我是 Linux 新手,作为练习,我需要将以数字结尾的“etc”文件从主目录复制到 test1 目录 (用一个命令)。 我试过了,但没用

find /etc -type f -iname "*[3-9]" -exec cp {} ../test1/ \;
linux cp
3个回答
1
投票

这应该适合您的

home directory files ending with digit

mv `ls . |grep -Eo  "^.*[0-9]$"` your-directory

让说在当前目录中你有一些文件,例如 ofjweifhwef9 或 kfhiofeh8 (以数字结尾的文件)

所以

ls
将列出它们。

这个 grep 表达式 "^.*[0-9]$"` 只会查找以数字结尾的文件。 (因为在你的主目录系统中不允许有这样的文件“/etc/somefile123”)

然后 mv 会将这些文件移动到您的目录中

注意:- 如果 grep 找不到以 number 结尾的文件,您当然会看到错误,因为 mv 需要 2 个操作数,但由于它不存在,所以会出现错误。

mv: missing destination file operand after './your-directory'

0
投票

这可能是因为

/etc
是您正在使用的系统中的链接,并且
find
似乎并不将其视为路径,直到您在末尾添加额外的
/
。试试这个:

find /etc/ -type f -iname "*[3-9]" -exec cp {} ../test1/ \;

注意

/etc/
而不是
/etc
。我在 Mac 上得到了相同的行为,其中 /etc 是另一个目录的链接。

当然,还要确保

/etc/
目录树下有名称以数字结尾的文件。我的 mac 里没有。运行时你应该会得到一些文件:

find /etc/ -type f -iname "*[3-9]"

如果不这样做,则没有任何文件可供复制。您也可以尝试:

find /etc/
查看目录树下的所有文件。

最后,您可能需要添加选项:

-depth 1
如果您只想复制
/etc/
目录中的文件,而不是复制
/etc/
下目录树中匹配的所有文件。


0
投票

我也有同样的问题。

嗯,我有3台电脑

  1. Windows 10
  2. Linux Mint 1
  3. Linux Mint 2
  • 我从 Windows 将数据备份到我的 Linux Mint 2
  • 我从我的 Linux Mint 1 将数据备份到我的 Linux Mint 2

-> 当我本地登录 Linux Mint 2 2 时,我只看到一个名为 BACKUP 的文件夹

-> 当我登录 Windows 或 Linux Mint 1 时,我看到 2 个远程文件夹 BACKUP 和 BACKUP1

这在远程来说非常令人困惑。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.