更改bash中具有特殊字符的文件名

简·威尔基

我们正在运行一个Ubuntu服务器,该服务器会自动从客户FTP文件,最近这些文件现在显示为...'file.csv;' 'file2.csv;

我一直在尝试,没有运气,制定bash和Python解决方案。我只是想去掉单引号和分号,并保留剩下的。这不必是bash,可以是python甚至是perl。我在下面包含了无效代码。我什至看不到目录清单。谁能指出我正确的方向?

for i in \'* 
    do
    echo $i
done

注意:更正后的代码可以消除错误的$ echo'

帖木儿

find ... -exec rename像这样使用

find . -name "*[;']*" -exec rename "tr/';//d" {} \;

例:

# Create example input files:
$ touch "f'o''o'" "b;a;;r;" "b';a;'';z;'"

# Build the command by first confirming that `find` finds them all:
$ find . -name "*[;']*"                            
./f'o''o'
./b';a;'';z;'
./b;a;;r;

# Find and rename them, one by one:
$ find . -name "*[;']*" -exec rename "tr/';//d" {} \;

# Confirm that rename worked as expected:
$ ls -1rt | tail -n 3                                
foo
bar
baz

您也可以使用进行批量重命名以提高速度xargs,例如

find ... -print0 | xargs -0 ...

但是对于您的情况,我认为一一重命名文件就足够了。


命令行实用程序rename有多种形式。他们中的大多数应为此任务工作。我使用了renameAristotle Pagaltzis的1.601版本。要安装rename,只需下载其Perl脚本并将其放入$PATHrename使用进行安装conda,如下所示:

conda install rename

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

带有特殊字符的文件名

来自分类Dev

从文件名中删除特殊字符

来自分类Dev

文件名Java中的特殊字符

来自分类Dev

从文件名中删除特殊字符

来自分类Dev

当文件在bash中具有不同的前缀时,如何按文件名中的日期排序?

来自分类Dev

无法删除文件名中包含特殊字符的文件

来自分类Dev

Bash:复制根/当前文件夹中具有相同扩展名的所有文件,但文件名包含某些字符串的文件除外

来自分类Dev

如何使用linux find命令替换所有文件名中的特殊字符?

来自分类Dev

在Linux中批量删除文件名中的特殊字符

来自分类Dev

批处理:从文件名更改特殊字符(éèà...)

来自分类Dev

删除文件名中带有特殊字符的目录

来自分类Dev

文件名中的特殊字符(\#033OA)

来自分类Dev

无法删除/移动文件名中带有特殊字符的文件

来自分类Dev

处理带有特殊首字符的文件名(例如♫)

来自分类Dev

尝试更改bash中的文件名

来自分类Dev

无法删除文件名中包含特殊字符的文件

来自分类Dev

如何在Linux中连续创建带有特殊字符(如()和空格)的文件名?

来自分类Dev

在Perl中以特殊字符打开文件名中的文件

来自分类Dev

在“超越比较”中,如何排除带有特殊字符的文件名?

来自分类Dev

在Windows中从文件名中批量删除特殊字符

来自分类Dev

Powershell从文件名中删除特殊字符

来自分类Dev

bash-处理文件名中的特殊字符

来自分类Dev

终端命令:处理文件名中的特殊字符

来自分类Dev

文件名和路径中的特殊字符

来自分类Dev

Lazarus ListBox SaveToFile 带有特殊字符的文件名

来自分类Dev

pandas:文件路径和文件名中带有重音/特殊字符的 oserror

来自分类Dev

从powershell中的文件名中删除特殊字符

来自分类Dev

从文件名中删除某些特殊字符

来自分类Dev

awk 在 *system call* 中处理带有特殊字符的文件名

Related 相关文章

  1. 1

    带有特殊字符的文件名

  2. 2

    从文件名中删除特殊字符

  3. 3

    文件名Java中的特殊字符

  4. 4

    从文件名中删除特殊字符

  5. 5

    当文件在bash中具有不同的前缀时,如何按文件名中的日期排序?

  6. 6

    无法删除文件名中包含特殊字符的文件

  7. 7

    Bash:复制根/当前文件夹中具有相同扩展名的所有文件,但文件名包含某些字符串的文件除外

  8. 8

    如何使用linux find命令替换所有文件名中的特殊字符?

  9. 9

    在Linux中批量删除文件名中的特殊字符

  10. 10

    批处理:从文件名更改特殊字符(éèà...)

  11. 11

    删除文件名中带有特殊字符的目录

  12. 12

    文件名中的特殊字符(\#033OA)

  13. 13

    无法删除/移动文件名中带有特殊字符的文件

  14. 14

    处理带有特殊首字符的文件名(例如♫)

  15. 15

    尝试更改bash中的文件名

  16. 16

    无法删除文件名中包含特殊字符的文件

  17. 17

    如何在Linux中连续创建带有特殊字符(如()和空格)的文件名?

  18. 18

    在Perl中以特殊字符打开文件名中的文件

  19. 19

    在“超越比较”中,如何排除带有特殊字符的文件名?

  20. 20

    在Windows中从文件名中批量删除特殊字符

  21. 21

    Powershell从文件名中删除特殊字符

  22. 22

    bash-处理文件名中的特殊字符

  23. 23

    终端命令:处理文件名中的特殊字符

  24. 24

    文件名和路径中的特殊字符

  25. 25

    Lazarus ListBox SaveToFile 带有特殊字符的文件名

  26. 26

    pandas:文件路径和文件名中带有重音/特殊字符的 oserror

  27. 27

    从powershell中的文件名中删除特殊字符

  28. 28

    从文件名中删除某些特殊字符

  29. 29

    awk 在 *system call* 中处理带有特殊字符的文件名

热门标签

归档