2014-11-21 3 views
1

Я хочу удалить «-» имена файлов в редактируемой Dired режима ниже текстудалить «-» имена файлов в Emacs Dired режим

  • -rw-г - г - + 1 dayua mkpasswd 663 14 ноября 18:11 Add-Binary.py
  • -rwxr-хт-х + 1 dayua mkpasswd 799 14 ноября 18:11 add-two-link-list.py
  • -rw- r - r - + 1 dayua mkpasswd 571 14 ноября 18:11 Anagrams.py
  • -rwxr-xr-x + 1 dayua mkpasswd 1041 14 ноя 14:11 Balanced-Binary-Tree.py
  • -rwxr-хт-х + 1 dayua mkpasswd 1241 14 ноября 18:11 Best-profit-III.aux.py
  • -rwxr-хт-х + 1 dayua mkpasswd 830 14 ноября 18:11 Лучшее время- -Buy-and-Sell-Stock-II.py
  • -rwxr-хт-х + 1 dayua mkpasswd 1605 14 Nov 18:11 Best-Time-to-Buy-and-Sell-Stock-III.py
  • -rw-г - г - + 1 dayua mkpasswd 5323 20 ноября 14:48 Binary-Search-Best-Practice.py

пожалуйста, дать некоторые предложения.

+0

Что вы хотите сделать? Вы хотите изменить имена файлов файлов в файловой системе или просто хотите просмотреть файлы без знака «-»? – Lindydancer

ответ

2

Короткий ответ: после входа в режим редактирования в режиме dired (aka wdired) перейти к началу буфера и сделать M-% - RET RET!

M-% - это ярлык для query-replace; он подскажет, что вы хотите заменить (-), и тем, что (пустая строка), то он поместит вас в интерактивный режим, где ключ ! скажет ему заменить все вхождения.

wdired будет обрабатывать правильно (innore при замене) символов «-» в части разрешений для устаревшего списка.

+0

большое вам спасибо. У меня более сложный случай. если у меня есть чистый текст выше, я просто хочу удалить для самого правого имени файла, а не включать левые атрибуты, что мне делать? – yuandaxing

+0

Я не уверен, что в вашем примере будет «самое правое имя файла» и «левые атрибуты». – juanleon

+0

"-rw-r-r - + 1 dayua mkpasswd 663 14 ноя 18:11 Add-Binary.py" просто удалить "-" из "Add-Binary.py", не включать текст "-rw-r- -r - + " – yuandaxing

1

Мой первый инстинкт, особенно если это будет одноразовое обновление, - это записать макрос клавиатуры.

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 

Тогда это просто вопрос повторения макроса до завершения

C-x e 

Если у вас есть много строк, вы можете предварить макро вызов с числом повторений (50 в этом пример)

Мне было бы очень интересно узнать о каких-либо регулярных решениях этой проблемы!

Смежные вопросы