Синтаксис tcsh является несовместимым с синтаксисом sh.
Если Ваша оболочка входа в систему является sh, и Вы только используете tcsh в интерактивном режиме, устанавливаете LS_COLORS
в Вашем ~/.profile
.
Если Вы имеете (t) csh как Ваша оболочка входа в систему, можно запустить скрипт, распечатать значение LS_COLORS
и набор это внутри csh (по-видимому, в Вашем ~/.login
).
setenv LS_COLORS `sh -c '. ~/path/to/file.sh; echo "$LS_COLORS"'`
Ваше понимание было бы корректно, если бы regex были применены к файлу в целом. Это не то, как sed
списки: это работает линию за линией вместо этого. Таким образом g
модификатор только сыграл бы роль, если Ваш regex мог бы соответствовать многократно на той же строке. В Вашем случае замена была применена только однажды к каждой строке так естественно были удалены, оба экземпляра.
Хлебайте целый файл вместо этого и посмотрите различие:
perl -p0777e 's/[^.]*mobile phones[^.]*\.//' sentence.txt > sentence2.txt