我运行了一个脚本,该脚本在目录中生成了大约 10k 个文件。我刚刚发现该脚本中有一个错误,导致某些文件名带有回车符(可能是 '\n' 字符)。
我想运行 sed 命令来从文件名中删除回车符。
有人知道要将哪些参数传递给 sed 才能按照所述方式清理文件名吗?
我在 Linux(Ubuntu)上运行
更新
导致文件名“拆分”到多行的字符似乎是 CR(回车符),而不是“\n”。文件名显示在文本编辑器的标题中,文件名拆分的位置显示为 %0D。所以我需要从文件名中删除 CR 字符。
答案1
尝试rename
:
find /path/to/dir -exec rename -n 's/\n/_/' {} \+
删除-n
以实际重命名文件。