【问题标题】:Skip moving of files with illegal characters in Ubuntu system在 Ubuntu 系统中跳过移动带有非法字符的文件
【发布时间】:2014-04-04 01:31:12
【问题描述】:

我正在移动 Ubuntu 系统中的一些文件,该系统当前正在移动文件夹中所有带或不带扩展名的文件

以下是我正在使用的命令:

find /abc/xyz -maxdepth 1 -type f -exec mv {} /mno/pqr

但现在我只想在应用一些过滤器后移动文件:

  • 如果文件包含“_”(下划线),我想跳过该文件移动。
  • 我想要一个参数标志,当它为 0 或 1 时,可以覆盖目标位置的同名文件。

有人可以帮帮我吗?

【问题讨论】:

    标签: linux unix ubuntu filter operating-system


    【解决方案1】:
    1. 如果文件包含“_”(下划线),我想跳过该文件移动。

      你可以试试这个

      find /abc/xyz -maxdepth 1 -type f ! -name '*_*' -exec mv {} /mno/pqr
      

      ! -name '*_*' 将跳过所有名称中包含“_”的文件。如果您要检查多个非法字符,您可以为每个字符添加一个测试(例如! -name '*_*')。

    2. 我想要一个参数标志,当它为 0 或 1 时,可以覆盖目标位置的同名文件。

      • mv -n 不要覆盖现有文件
      • mv -f覆盖前不提示

    【讨论】:

    • +1。如何检查我是否有一组非法字符。其中之一是“_”。怎么查别人?
    • @peeppeep 您可能需要为每个非法字符添加一个测试,就像您对“*”所做的那样。
    • 感谢您的快速解答。你能帮我解决这个问题吗? stackoverflow.com/questions/22164358/…
    猜你喜欢
    • 2018-04-10
    • 2010-10-13
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-03
    • 1970-01-01
    • 2013-09-22
    相关资源
    最近更新 更多