sed: -e выражение #1, символ 3: неожиданное `,'

Получить латекс:

yum -y install texlive 

недостаточно.

https://gist.github.com/melvincabatuan/350f86611bc012a5c1c6хороший подход

yum -y install texlive texlive-latex texlive-xetex
yum -y install texlive-collection-latex
yum -y install texlive-collection-latexrecommended
yum -y install texlive-xetex-def
yum -y install texlive-collection-xetex

Только при необходимости:

yum -y install texlive-collection-latexextra

0
17.10.2019, 13:14
2 ответа

В "1,$1p"$1расширяется оболочкой, а sedвидит 1,actorsp. actorspне является допустимым адресом sed, поэтому выдает ошибку. Тем не менее, текст ошибки кажется мне немного странным, он, кажется, распознает aкак команду, а затем возвращается к размышлениям о запятой.

В '1,$1p'$1является не расширенным оболочкой, а sedвидит 1,$1p. $— правильный адрес, он используется для обозначения последней строки, поэтому 1,$просто означает «все строки». Однако 1не является допустимой командой, поэтому это ошибка.

Вы не сказали, что собираетесь делать, так что здесь трудно помочь.

2
28.01.2020, 02:22

Попробуйте использовать разделитель,

sed -n -e "1,/$1/p" test.txt

код, который вы пробовали, расширится как

sed -n -e 1,actorsp test.txt

, в котором sed примет параметр pкак часть регулярного выражения actorp. Поэтому используйте разделитель между регулярным выражением и параметром, чтобы он работал.

1
28.01.2020, 02:22

Теги

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