Команда sed для поиска строк нестандартного размера [дубликат]

solución gnu sed

sed '
\#[[:blank:]]*/var/log/report#!d
N
/\n[[:blank:]]*{$/!d
N
/\n[[:blank:]]*[A-Za-z]*$/!d
s/.*/OK\n&/
' infile
-3
16.05.2018, 20:14
2 ответа
sed -n '/^.....................$/!p' < input-file

Si no hay 21 caracteres entre el principio(^)de la línea y el final($)de la línea, imprímalo.

Más positivamente, delimine las líneas que tienen 21 caracteres (imprimiendo otras líneas por defecto):

sed '/^.....................$/d' < input-file
0
28.01.2020, 05:19
$ sed '/^.\{21\}$/d;q' input-file

seddeliminará (y, por lo tanto, no imprimirá )la primera línea con exactamente 21 caracteres entre el principio y el final de la línea (el archivo real no se modificará a pesar del uso de palabras de miedo como "eliminar" ). Si se encuentra una línea de este tipo, dejará de procesar inmediatamente más líneas.

1
28.01.2020, 05:19

Теги

Похожие вопросы