Необходимо создать двойную кавычку переменной:
time_stamp="$(date)"
touch "$time_stamp"
В этом случае двойная кавычка в «$ (дата)»
не является обязательной, но это является хорошей практикой. Для получения дополнительной информации прочитайте это .
-121--46743-
Я закрою цикл по этому вопросу, так как мне удалось найти информацию о проблеме. Очевидно, существует несоответствие версий файлов в загрузочной папке.
Согласно этой публикации на форуме Slax, решение состоит в копировании ряда файлов из работающей системы Linux (я предполагаю, на основе Slackware). Тем не менее, я не смог найти эти файлы на любой версии Linux у меня есть.
Другое решение было предложено в этом посте на том же форуме. Это было, чтобы прокомментировать строку в bootinst.sh. Я не пытался этого, поэтому не могу подтвердить, что это работает.
Я решил использовать другой дистрибутив, а не полагаться на тот, который не кажется готовым для прайм-тайма.
-121--244760-
Это действительно легко сделать с sed
, на самом деле. Вы просто получаете столько, сколько можете за один раз, затем t
ry, t
ry снова:
sed -e :t -e 's/\(<[^<]*\)[0-9]\{1,\}\([^>]*>\)/\1\2/g;tt'
Я попробовал его со следующими случайными битами ввода:
234234 '
234234 <000000000000000000000000000000000000>>
2 <34b5c> 6 7 def
И результаты были:
234234
234234 <>>
2 6 7 def
regex просто соответствует по крайней мере одному числу между и
>
. Он продолжает заменять эту номерную последовательность ничем, пока не сможет сделать это успешно. Это назначение команды t
est.
Иначе вы можете сделать это без цикла, как
sed 's/^/>/;s/\(>[^<>]*\)*[0-9]*/\1/g;s/.//' <<\INPUT
234234 '
234234 <000000000000000000000000000000000000>>
2 <34b5c> 6 7 def
INPUT
234234 '
234234 <>>
2 6 7 def
Он всегда будет пропускать любой >
, пока не встретит - так что это влияет только на
] * >
группы. Смотрите это , если вас интересует почему.
Для этого не обязательно открывать файл в vim. Вы можете сделать это в командной строке
sed '/NX/s/N1/NX/g' <имя_фильмы> >>
а затем переименовать
в исходный файл.