2016-04-19 1 views
1

alias v='vim -esu NONE +'g/\v^(.+)$\_.{-}^\1$/d''
Будет ли удалить повторяющиеся строки из входного файла и :wq его также. Я хочу создать псевдоним для этого, но он дает ошибку
syntax error near unexpected token (' `Bashrc псевдоним для удаления не последовательных повторяющихся строк непосредственно из файла затем сохранить и закрыть его

ответ

2

В оболочке вы можете не гнездятся одиночные кавычки внутри пары одиночных кавычек

Вы можете использовать:.

alias v="vim -esu NONE +'g/\v^(.+)$\_.{-}^\1$/d'" 

или лучше использовать функцию вместо alias, не заботясь о процитировать:

v() { vim -esu NONE +'g/\v^(.+)$\_.{-}^\1$/d'; } 
+0

Если я создаю псевдоним, я получаю ошибку '-bash: синтаксическая ошибка около неожиданного токена'. + '' – ypp

+2

Выполняйте' unalias v' first, а затем попробуйте объявить функцию – anubhava

+0

Спасибо, сработало. псевдоним "vim -esu NONE + 'g/\ v^(. +) $ \ _. {-}^\ 1 $/d' + wq". Добавлено + wq для сохранения и закрытия. Это занимает слишком много времени для файла, имеющего только 6 строк. Любой другой способ быстро сделать это с той же целью. – ypp