Мероприятие, не учрежденное в sed, звонит в csh сценарий

Вы могли бы хотеть использовать smartctl который предоставляет Вам доступ S.M.A.R.T. на диске. Это имеет многочисленные опции и некоторое специальное предложение для SSD, таким образом, читает его страницу справочника. Обычно, если Ваш диск сообщит об аппаратной ошибке, пора скопировать (если Вы уже не сделали этого), и замените его - сегодняшние жесткие диски имеют разумное запасное пространство для перераспределений сбойного блока, поэтому если это сообщает о проблемах, возможности состоят в том, что этот буфер уже использовался (или что-то еще неправильно с диском). Все же это не обязательно означает, что не было бы никакого другого использования для диска (кроме лежания в основе для таблицы).

3
13.04.2017, 15:36
2 ответа

Я не знаком с tcsh , но это звучит как проблема расширения истории. В bash одиночные цитаты предотвращают расширение истории, может быть, в tcsh они этого не делают.

Вы можете отключить расширение истории (я не знаю, как это сделать, хотя; в bash это делает наборы + H ).

Другой вариант: обратная косая черта должна работать. Попробуйте

sed_code=":again;\$\!N;\$\!b again; s/{[^}]*}//g"
sed "$sed_code" file
-121--105560-

У меня была та же проблема (на Ubuntu 14.04). Возникла проблема с разрешениями. Он был разрешен путем запуска spoon.sh с пользователем, имеющим разрешения на доступ к графической среде. В Ubuntu Desktop пользователь, который используется для входа в систему, является безопасным пользователем.

-121--150953-

Вы должны бежать ! для предотвращения csh/tcsh выполнения расширения истории. Они все еще делают историю расширения, хотя вы написали ! в одной цитате.

Попробуйте:

sed ':again;$\!N;$\!b again; s/{[^}]*}//g' file

Или можно написать сценарий вызова с помощью -f script.sed (Читать sed FAQ ).

5
27.01.2020, 21:19

Я не знаком с ] TCSH Но это звучит как проблема расширения истории. В Bash Одиночные цитаты предотвращают экспансию истории, может быть, в TCSH Они этого не делают.

Вы можете отключить расширение истории (я не знаю, как это сделать, хотя; в Bash это делается на множестве + H ).

Еще один вариант: обратная косая откидка должна работать. Попробуй

sed_code=":again;\$\!N;\$\!b again; s/{[^}]*}//g"
sed "$sed_code" file
-1
27.01.2020, 21:19

Теги

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