Я учусь сегодня. Эта тильда '~' смущает меня больше всего на свете.
Например, команда
sed -n '1~2 w output.txt' input.txt
печатает нечетные строки (в файл output.txt).
В том же учебнике также указано, что он пропускает строки от 1 до 2, а затем начинает печатать строки рядом со строкой 2, если мы используем
sed -n '1~2 p' input.txt
Какова абсолютная интерпретация этой тильды?
Ответы:
Это
sed
расширение GNU :Два ваших примера соответствуют одинаковым строкам, но первый записывает (
w
) их в файл, а второй печатает (p
) их везде, куда идет стандартный вывод.В общем, всегда обращайтесь к руководству команды. Руководство редко неоднозначно. Применение команды путем объединения нескольких аспектов ее функциональности иногда бывает трудно объяснить в учебном пособии (а иногда учебное пособие пытается упростить понимание, перефразируя одно и то же утверждение многими способами, что может привести к путанице), но Руководство является определенной ссылкой для каждого бита, что делает агрегированная команда.
источник