С типичной установкой BusyBox я думаю, что Вы оказываетесь перед необходимостью анализировать вывод ls
получить размер. После того как Вы имеете размер, извлекаете первые n-2 байты файла с head
.
size=$(ls -Lnd -- "$file" | awk 'NR==1 {print $5}')
head -c "$(($size - 2))" <"$file" >"$file.new"
Если Вы хотите усечь файл на месте, использовать dd
.
size=$(ls -Lnd -- "$file" | awk 'NR==1 {print $5}')
dd if=/dev/null of="$file" bs="$(($size - 2))" seek=1
Поскольку плюс глиф спецификатор формата.
В целом, в программах UNIX, спорами с минус глиф являются опции для программы, и спорами с плюс глиф являются команды для программы (см. man less
).
Страница руководства man date
шоу больше информации об этой теме.
date
никогда не является интерактивным. Также+
не спецификатор формата, он указывает на запуск строки параметров (эта строка затем содержит спецификаторы формата, но+
не один из них), уместность+
обозначается в резюме страницы справочника,date [OPTION]... [+FORMAT]
, Причем "ФОРМАТ" является строкой формата. Конечно, это все еще не объясняет почемуdate +3
выкладывает3
... это должна быть ошибка. – goldilocks 23.01.2014, 11:14date +3%s3%Z3
. – 41754 23.01.2014, 11:26date +"**"%s"**"%Z
работы также. Отчасти не-или очень двусмысленно зарегистрированный, если Вы не читаетеinfo coreutils
материал tho. – goldilocks 23.01.2014, 12:22