删除“-&引用;在emacs dired模式下的文件名的
我想在可编辑目录模式下删除文件名中的“-” 以下是文本删除“-&引用;在emacs dired模式下的文件名的,emacs,elisp,Emacs,Elisp,我想在可编辑目录模式下删除文件名中的“-” 以下是文本 -rw-r--r--+1 dayua mkpasswd 663 11月14日18:11 Add-Binary.py -rwxr-xr-x+1 dayua mkpasswd 799 11月14日18:11 add-two-link-list.py -rw-r--r--+1 dayua mkpasswd 571 11月14日18:11 Anagrams.py -rwxr-xr-x+1 dayua mkpasswd 1041 11月14日18:
- -rw-r--r--+1 dayua mkpasswd 663 11月14日18:11 Add-Binary.py
- -rwxr-xr-x+1 dayua mkpasswd 799 11月14日18:11 add-two-link-list.py
- -rw-r--r--+1 dayua mkpasswd 571 11月14日18:11 Anagrams.py
- -rwxr-xr-x+1 dayua mkpasswd 1041 11月14日18:11 Balanced-Binary-Tree.py
- -rwxr-xr-x+1 dayua mkpasswd 1241 11月14日18:11 Best-profit-III.aux.py
- -rwxr-xr-x+1 dayua mkpasswd 830 11月14日18:11最佳买卖时间股票-II.py
- -rwxr-xr-x+1 dayua mkpasswd 1605 11月14日18:11最佳买卖时间股票III.py
- -rw-r--r--+1 dayua mkpasswd 5323 11月20日14:48 Binary-Search-Best-Practice.py
请给出一些建议。简短回答:进入dired可编辑模式(aka
wdired
)后,转到缓冲区的开头并执行M-%-RET-RET
M-%是查询替换
的快捷方式;它将提示您要替换的内容(-
)和替换的内容(空字符串),然后将您置于交互模式,其中键代码>告诉它替换所有事件
wdired将正确地(在替换时)处理目录列表权限部分的“-”字符。我的第一反应,特别是如果这只是一次性更新,是录制键盘宏
C-x ( ; to begin macro
C-e ; to end of line
M-<space> ; mark beginning of region
C-r : ; search backward to time delimiter (:)
M-x replace-string - <blank> ; replace - with nothing
C-a ; beginning of line
C-n ; next line
C-x ) ; end macro
如果有很多行,可以在宏调用前加上重复次数(本例中为50次)
50c-xe
我非常有兴趣学习这个问题的任何正则表达式解决方案 你想做什么?您想更改文件系统中文件的文件名,还是只想查看不带“-”号的文件?非常感谢。我有一个更复杂的案子。如果我有上面的纯文本,我只想删除最右边的文件名,而不包括左边的属性,我该怎么办?我不确定在您的示例中“最右边的文件名”和“左边的属性”是什么。“-rw-r--r--+1 dayua mkpasswd 663 Nov 14 18:11 Add Binary.py”只是删除“-”来自“Add Binary.py”,不包括文本“-rw-r--r--+”若您使用的是wdired模式,则EMCA应该省略并替换该文本
C-x e
<ESC> 50 C-x e