-6

У меня есть 4 файла, давайте предположим, что a, b, c, d в этом файле с нулевым байтом.Я хочу сценарий, который будет определять, какой файл нулевого байта и сценарий, который будет передавать этот файл в "архив".

Благодарю вас.

1 ответ1

2

Если бы вы спросили о Linux или BSD, все было бы иначе. В Linux и BSD доступно множество языков сценариев, от REXX до оболочки TENEX C и Python.

Но вы специально спросили о UNIX вместо этого.

UNIX старше Linux и BSD, а также нескольких языков сценариев, и вы не сказали, какую версию UNIX вы спрашивали. Поэтому, чтобы быть в безопасности, я выбрал язык сценариев UNIX, который вы сможете использовать даже в шестом издании UNIX: язык сценариев Thompson Shell .

Вот твой сценарий. По традиции UNIX 1970-х годов, он мощный, молчаливый, хитрый в крайних случаях и не имеет символа длиной более 7 символов. Твердо в традиции Томпсона нет ненужной буквы "е" в конце archiv . Я сделал одну уступку GNUistas: добавление опции --help . Если вы хотите запустить сценарий на BSD, где он действительно будет работать довольно успешно, вы, конечно, можете устранить такой GNUism с заголовком head -11 . Я, само собой разумеется, включил указанную вами ошибку, касающуюся перемещения только одного файла нулевой длины. Наслаждаться.

#!/bin/sh6
: L
if ! { fd2 -f /dev/null goto X$1 } goto T 
: T
: <$1''
if -s $1 goto F
shift
goto L
: F
mv $1 archiv/$1
fd2 -f /dev/null goto Y
: X--help
echo Usage: $0 files...

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .