Доброго времени суток!
Есть скрипт, который проверяет аргументы командной строки, для того
чтобы пропускать только те из них, которые соответствуют существующим
правилам, как то: только буквы английского алфавита, цифры... :
for I in "$@"; do
if echo "$I" | LANG=C grep -qvx '[-_.a-z0-9][-_.a-za-z...@]*'
then ...
Делает это он замечательно )) Но теперь надо, чтобы он пропускал также 2
исключения - NAME1.BIN и NAME2.SFO
Пробую:
./test.sh 12 34 56
for x in "$@"; do
echo "$x" | grep -vx 12 -vx 34
grep: 34: No such file or directory
не работает,
echo "$x" | grep -ve 12 -ve 34
работает, но там-то нет точного соответствия, поэтому пропускается все,
в котором есть эти знаки,. например:
echo "$x" | grep -ve 1 -ve 3
выдаст только 56, потому что 1 и 3 есть в составе двух других цифр
Подскажите, пожалуйста, как это побороть.
--
С уважением,
Олег
_______________________________________________
Sysadmins mailing list
[email protected]
https://lists.altlinux.org/mailman/listinfo/sysadmins