есть ли предпочтение при использовании chgrp или chown для именованных или числовых аргументов

Я не знаю, является ли sedлучшим инструментом для этого. Я лично хожу в perlза такими вещами и придумал вот это:

perl -pe 'BEGIN{ $/ = " more items"; } s/\.\.\.\s\d+ more items$//;'

-e— текст программы для выполнения.

-pозначает выполнять неявный цикл над текстом программы один раз для каждой записи. (по умолчанию запись представляет собой строку, см. ниже для изменения этого ).

Это сначала устанавливает разделитель записей $/от новой строки по умолчанию(\n)до строки «больше элементов»; блок, обозначенный BEGIN { }, выполняется один раз в начале.

Теперь он будет считывать входные данные по одному блоку за раз, вплоть до (и включая )разделитель записей. Таким образом, в каждом цикле у вас есть «что угодно... еще 1234 элемента» во входном буфере.

s/\.\.\.\s\d+ more items$//— это замена, которая удаляет любую строку из трех точек (, экранированных для удаления специального значения «любого символа» ), за которым следует пробел (\s ), за которым следует одна или несколько цифр(\d+)и текст «больше элементов» в конце записи($). Сопоставление конца записи не обязательно, но может ускорить сопоставление.

Результат распечатывается по умолчанию благодаря опции -p.

0
05.01.2021, 14:24
1 ответ

Мы знаем, что rootвсегда 0, но для других пользователей мы не знаем там uid.

В старые времена память и перфокарты -были дорогими, 0на 3 символа меньше, чем root. Поощрялось делать программы небольшими для экономии памяти, но за счет удобочитаемости.

Сейчас память стоит дешево. Лучше ориентироваться на читабельность. Людей до сих пор учат старым привычкам, потому что учителя не знают, почему мы так поступаем.

2
18.03.2021, 22:38

Теги

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