Linux
無法在 Linux 上刪除文件名中的逗號
我在終端文件夾中有名為“數據”的文件夾。data 中的某些文件名中有一個“,”。我可以列出它們
$ cd data $ ls -i |grep -E '\,'
但我不知道如何從這些文件名中刪除“,”。根據我的研究,我嘗試了類似的方法
grep -E '\,' | sed ','
,但沒有奏效。如果我不能從文件文件名中刪除逗號,我願意刪除這些文件,但我不能在終端文件夾或使用 rm 的命令行刪除它們(它說沒有這樣的文件或目錄)。
使用 bash shell,您可以遍歷所有包含逗號的文件名並重命名它們以刪除所有逗號:
for f in *,*; do mv -- "$f" "${f//,/}"; done
通過範例執行:
$ touch foo,bar a,b,c,d $ ls a,b,c,d foo,bar
結果是:
$ for f in *,*; do mv -- "$f" "${f//,/}"; done $ ls abcd foobar
這將破壞任何已經存在的目標文件名。