Можно ли отфильтровать набор строк с помощью внешней команды в ed?

Я не смог точно ответить на этот вопрос. / etc / sysconfig / network-scripts часто содержат эту информацию для связи, но я смог создать ситуации (используя teamd, teamdctl и ip link для настройки связи), в которых это не так.

Решение, которое я выбрал для определения типа бегуна, было запущено teamdctl dev config dump . Однако мне не удалось выяснить, где хранился конфиг, созданный teamdctl. Найти, где это хранится, вероятно, лучший ответ на этот вопрос.

1
18.05.2018, 20:47
2 ответа

La única forma que encontré para hacer esto requiere usar un archivo externo para almacenar los resultados temporalmente.

$ cat input.txt 
13
5
29
22
45
64
17
20
69
91
$ ed input.txt 
29
1,3w !sort -n > temp.txt
8
1,3d
0r temp.txt
8
wq
29
1
27.01.2020, 23:43

how to do both simultaneously

No puede escribir líneas desde el búfer de texto a algún comando stdiny volver a leer su stdout, reemplazando las líneas originales, de una sola vez.
edclaramente no fue diseñado para hacer ese tipo de cosas... Pruebe vim.
Dicho esto, siempre puedes usar algunas contorsiones como eddentro de ed, p. abra el archivo, elimine esas líneas del búfer de texto, procéselas a través de otra invocación ed(que lee del archivo original, no del búfer actual )cuya salida luego lee en el búfer antes del rango original de lineas :

ed -s infile
5,8d
4r ! ed -s infile<<<$'5,8w !sort -n\nq'
,p
q
1
27.01.2020, 23:43

Теги

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