【问题标题】:Batch renaming files with decimal point extensions in linux在linux中批量重命名带有小数点扩展名的文件
【发布时间】:2014-11-08 20:26:31
【问题描述】:

我有一批文件,名称如下

  • 000.100.dat
  • 000.600.dat
  • 001.100.dat
  • 001.500.dat
  • 007.600.dat

等等。我需要通过向上移动小数点来重命名它们,比如说

  • file000100.dat
  • file000600.dat
  • file001100.dat
  • file001500.dat
  • file007600.dat

执行此操作的 shell 脚本(像这样移动小数位)会很棒。如果这在 shell 中很困难,也欢迎使用 python 脚本。 谢谢你

【问题讨论】:

  • 嗯.. linux 中的批处理?你的意思不是 bash。 I have a batch of files...真的
  • No....批次是指001....dat、003......dat等所包含的批次(文件组)。

标签: file shell decimal rename


【解决方案1】:

这段代码会帮助你,

for f in *.dat; do
    a="file$(echo $f | sed '0,/RE/s/\.//')"
    mv "$f" "$a"
done

【讨论】:

    【解决方案2】:

    你也可以试试这个:

    for f in *.dat; do 
      ff=$(basename $f .dat) 
      echo mv "$f" "file$(echo -n "$ff"|tr -d '.').dat"
    done
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-13
      • 2015-12-12
      • 2019-05-25
      • 1970-01-01
      • 2012-11-13
      • 2013-07-13
      • 2013-12-16
      • 2019-07-05
      相关资源
      最近更新 更多