Вот версия Perl, использующая отрицательный просмотр вперед (?!ОРГАНИЗМ)
, чтобы выяснить, нужно ли нам выполнять подстановку. Флаги -p
позволяют автоматически печатать
$ perl -pe 's/[[:blank:]]//g if /^(?!ORGANISM).*/' input.txt
Cat;Dog;Squirrel
ORGANISM Animalus terrus
Sequence:ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT
Не совсем так. Сигналы и т. д. обрабатываются драйвером терминала, поэтому оболочка на самом деле не знает, нажали ли вы буквальный ctrl -C или отправили ему тот же сигнал с kill
из другого окна, например.
Keystrokes -> Terminal -> Terminal driver -> Foreground process
Когда оболочка не является процессом переднего плана (, например, когда вы использовали ее для запуска интерактивной программы или вообще любого процесса переднего плана ), эта программа получает ввод с клавиатуры и любые сигналы от драйвера терминала..
Стандартный ввод исходит из терминала по умолчанию, но вы можете запустить оболочку с перенаправлением ввода, например, из файла или сетевого потока, и оболочка на самом деле не заметит разницы. Точно так же оболочка может перенаправлять стандартные потоки ввода, вывода и ошибок для своих дочерних процессов независимо от того, задействован ли вообще терминал.