У меня есть 4 файла, давайте предположим, что a, b, c, d в этом файле с нулевым байтом.Я хочу сценарий, который будет определять, какой файл нулевого байта и сценарий, который будет передавать этот файл в "архив".
Благодарю вас.
У меня есть 4 файла, давайте предположим, что a, b, c, d в этом файле с нулевым байтом.Я хочу сценарий, который будет определять, какой файл нулевого байта и сценарий, который будет передавать этот файл в "архив".
Благодарю вас.
Если бы вы спросили о 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...