Как отмечено в melpomene и Комментарии PesaThe , sed
диапазоны адресов не могут быть пустыми, обе оболочкипеременные ${FT_LINE1}
и ${FT_LINE2}
должны быть установлены на некоторое подходящее значение.
Этот простейший способ воспроизвести ошибку:
sed ,
Какие выходные данные:
sed: -e expression #1, char 1: unknown command: `,'
Поскольку ,
- это , а не a *Команда 1023 *, это просто разделитель, разделяющий адреса диапазонов.
Это может помочь при рассмотрении некоторых других связанных ошибок.Давайте добавим начальный адрес 1 :
sed 1,
Вывод:
sed: -e expression #1, char 2: unexpected `,'
, который кажется бесполезным, так как он должен ожидать адрес после ,
.Теперь давайте добавим второй адрес 1 :
sed 1,1
Вывод:
sed: -e expression #1, char 3: missing command
Немного лучше, но на самом деле это char 4, в котором отсутствует команда, илискорее, отсутствует команда после char 3.
Теперь давайте добавим команду и немного ввода, и она будет работать:
echo foo | sed 1,1p
Вывод:
foo