2015-09-22 3 views
0
sed -n 's/^@(#)*/ /p' 

Вход предназначен для этой команды sed. Тем не менее, я имею трудные времена понимающих этого expresion 's/^@(#)*/ /p'Что делает этот однострочный скрипт?

+0

Соответствует символу '@ (#', а затем 0 или больше ')' в начале строки и заменяет их на 4 пробела. – 123

ответ

1

Если строка начинается со строкой, образованной смежными символами @( и # следует устав ) повторяется ноль или более раз, то эта строка печатается после вышеупомянутой строка заменяется на 4 пустых символа. Все остальные строки не печатаются:

$ cat file 
[email protected](#)*1 
@(#))))2 
@(#)*3 
@(#)4 
@(#5 
@(6 

$ sed -n 's/^@(#)*/ /p' file 
    2 
    *3 
    4 
    5