使用sed从文件名中移动字符串或使用重命名将其重命名

192

我在一个文件夹中有一堆视频文件,其后缀为avi.avi。

find /home/alex/Filme/  -type f -name '*.avi.avi' 
/home/alex/Filme/Super 8.avi.avi
/home/alex/Filme/Exit - A Night From Hell.avi.avi
/home/alex/Filme/Der Plan.avi.avi
/home/alex/Filme/Ich.bin.Nummer.4.2011.avi.avi
snipp

我尝试使用以下“脚本”删除双精度字符串

 #!/bin/bash
    for i in `find $HOME/Filme -type f -name '*avi.avi' -print0` 

    do 
        sed -e 's/'*.avi.avi'/'*.avi'/g'
 done

还是像这样通过重命名实现这一目标的更好方法?

find $HOME/Filme -type f -name '*avi.avi' -print0 -exec  sh -c rename -v 's/*.avi.avi/*.avi/g' {} \;

我不确定文件夹名称是否会保留。是的,我为此找到了一些问题和答案,但是我很难适应它的情况。

问题示例

我的方法之一有效吗?

三元组

你快到了

find $HOME/Filme -type f -name '*avi.avi' -exec \
  sh -c "rename -v 's/\.avi\.avi$/.avi/'" {} \;

(to的参数rename是正则表达式替换;并且/g仅当您想替换匹配文件名中的每个匹配项时,该选项才有用;但是根据定义,最后只能有一个匹配项。)

也许更有用的是,您可以对此进行批处理,并且可能只是mv用于提高可移植性。

find $HOME/Filme -type f -name '*avi.avi' -exec \
  sh -c 'for f; do mv -v "$f" "${f%.avi}"; done' _ {} +

如果不需要遍历子目录,

for f in $HOME/Filme/*.avi.avi; do
    mv -v "$f" "${f%.avi}"
done

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用FIND和MV重命名文件。删除找到的字符串,然后将其放在文件名之前?

来自分类Dev

使用从文件名中提取的字符串重命名文件

来自分类Dev

Python使用子字符串最佳做法重命名文件名

来自分类Dev

如何使用哈希中的字符串值重命名文件名?

来自分类Dev

如何使用匹配的字符串递归重命名文件夹名和文件名

来自分类Dev

如果文件名缺少字符串,请使用批处理文件重命名文件

来自分类Dev

使用PowerShell重命名或删除文件名中的字符

来自分类Dev

如何使用 Ubuntu“重命名”工具替换目录名和文件名中的字符串?

来自分类Dev

如何使用重命名文件在Lisp中移动文件

来自分类Dev

如何匹配文件名中的字符串并根据字符串重命名文件?

来自分类Dev

查找文件名中包含空格和特定字符串的文件,并将其重命名

来自分类Dev

重命名多个文件,同时使用UNIX中的动态文件名将它们移动到其他目录

来自分类Dev

使用来自不同扩展名的文件的字符串重命名文件

来自分类Dev

通过子字符串文件名批量重命名文件

来自分类Dev

帮助oneliner-创建随机文件,重命名为2个字符的文件名,并使用随机字符串填充

来自分类Dev

尝试小写多个文件名的部分时,重命名将返回“不允许使用密码”

来自分类Dev

如何使用查找/重命名重命名多个文件名

来自分类Dev

使用Shell重命名文件名中的编号

来自分类Dev

使用output(StreamReader)行作为文件名(重命名)

来自分类Dev

使用wget重命名时获得相同的文件名

来自分类Dev

使用Shell脚本重命名文件名

来自分类Dev

使用 csv 字典重命名文件名

来自分类Dev

根据字符串重命名文件

来自分类Dev

使用查找和重命名将用户定义的字符串递归添加到所有文件和文件夹

来自分类Dev

隔离文件名的前6个字符,然后使用Python重命名文件

来自分类Dev

如何在Subversion中使用@字符移动/重命名文件

来自分类Dev

使用重命名将大写重命名为小写并添加字符

来自分类Dev

Shell重命名文件名,使用不可打印的字符

来自分类Dev

使用bash在连字符之间批量重命名文件名

Related 相关文章

  1. 1

    使用FIND和MV重命名文件。删除找到的字符串,然后将其放在文件名之前?

  2. 2

    使用从文件名中提取的字符串重命名文件

  3. 3

    Python使用子字符串最佳做法重命名文件名

  4. 4

    如何使用哈希中的字符串值重命名文件名?

  5. 5

    如何使用匹配的字符串递归重命名文件夹名和文件名

  6. 6

    如果文件名缺少字符串,请使用批处理文件重命名文件

  7. 7

    使用PowerShell重命名或删除文件名中的字符

  8. 8

    如何使用 Ubuntu“重命名”工具替换目录名和文件名中的字符串?

  9. 9

    如何使用重命名文件在Lisp中移动文件

  10. 10

    如何匹配文件名中的字符串并根据字符串重命名文件?

  11. 11

    查找文件名中包含空格和特定字符串的文件,并将其重命名

  12. 12

    重命名多个文件,同时使用UNIX中的动态文件名将它们移动到其他目录

  13. 13

    使用来自不同扩展名的文件的字符串重命名文件

  14. 14

    通过子字符串文件名批量重命名文件

  15. 15

    帮助oneliner-创建随机文件,重命名为2个字符的文件名,并使用随机字符串填充

  16. 16

    尝试小写多个文件名的部分时,重命名将返回“不允许使用密码”

  17. 17

    如何使用查找/重命名重命名多个文件名

  18. 18

    使用Shell重命名文件名中的编号

  19. 19

    使用output(StreamReader)行作为文件名(重命名)

  20. 20

    使用wget重命名时获得相同的文件名

  21. 21

    使用Shell脚本重命名文件名

  22. 22

    使用 csv 字典重命名文件名

  23. 23

    根据字符串重命名文件

  24. 24

    使用查找和重命名将用户定义的字符串递归添加到所有文件和文件夹

  25. 25

    隔离文件名的前6个字符,然后使用Python重命名文件

  26. 26

    如何在Subversion中使用@字符移动/重命名文件

  27. 27

    使用重命名将大写重命名为小写并添加字符

  28. 28

    Shell重命名文件名,使用不可打印的字符

  29. 29

    使用bash在连字符之间批量重命名文件名

热门标签

归档