С помощьюнайдитекоманду:
find. -type f -name "*.txt" ! -name "fgh.txt"
-name "*.txt"
-найти файлы с именами, соответствующими шаблону (все текстовые файлы)
! -name "fgh.txt"
-кроме точного имени файлаfgh.txt
Если ваши файлы действительно имеют префикс чисел (Я не уверен в редактировании этого вопроса )измените условие отрицания на! -name "*fgh.txt"
Поскольку переменные являются "глобальными" в сценариях оболочки -, если вы не объявите их локальными. Таким образом, если одна функция изменит вашу переменную i
, другая функция увидит эти изменения и будет вести себя соответствующим образом.
Таким образом, для переменных, используемых в функциях --особенно циклических -переменных, таких как i, j, x, y --, объявление их как локальных является обязательным. См. ниже...
#!/bin/bash
# Print $1 $2 times
function foo() {
local i
for (( i=0; i<"$2"; i++ )); do
echo -n $1
done
echo
}
# Print $1 $2x$3 times
function bar() {
local i
for (( i=0; i<"$3"; i++ )); do
foo "$1" "$2"
done
}
bar "$1" "$2" "$3"
Результат:
$./foobar.sh a 3 3
aaa
aaa
aaa
$./foobar.sh 'a b ' 4 3
a ba ba ba b
a ba ba ba b
a ba ba ba b