【问题标题】:bash script problem, find , mv tilde files created by geditbash 脚本问题,查找由 gedit 创建的 mv 波浪号文件
【发布时间】:2011-02-08 01:48:54
【问题描述】:

我使用带有 gedit 的 linux,它有一个很好的习惯,即为我编辑的每个文件创建一个带有波浪号的临时文件。

我正在尝试使用以下命令将所有这些文件一次移动到不同的文件夹:

find . -iname “*.php~” -exec mv {} /mydir \;

但是,它现在给了我语法错误,好像它正在搜索每个文件并试图移动一段文本。我只想将所有以 .php~ 结尾的文件移动到另一个目录。知道我是怎么做到的吗?

干杯柯

【问题讨论】:

  • -iname ?那是错字吗?除此之外它对我来说很好(使用-name而不是-iname)

标签: find mv tilde


【解决方案1】:

试试这个单行:

for D in `find . -iname "*.php~"`; do mv ${D} /mydir; done

为了将来参考,如果您进入编辑 > 首选项 > 编辑器选项卡,有一个复选框“在保存之前创建文件的备份副本”这是负责创建波浪号版本的人。

【讨论】:

  • 酷,谢谢,有什么办法可以保留这些文件的文件结构吗?它要求我更换。另外我确定我曾经能够在 nautilus 中查看这些隐藏文件,但由于某种原因它不再显示它们,很想知道如何显示它们,再次感谢 :)
  • 抱歉,我不知道如何保存结构。
  • 您可以将find-exec 一起使用。此外,这将在带有空格的文件上失败。
【解决方案2】:

GNU 查找

find . -iname "*.php~" -exec mv "{}" /mydir +;

for file in *.php~
do
 echo mv "$file" /mydir
done

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-06
    • 2017-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-15
    • 2016-05-16
    • 1970-01-01
    相关资源
    最近更新 更多