Как удалить некоторые шаблоны в сценарии оболочки

Мне нужно добавить код в этот скрипт, чтобы игнорировать некоторые шаблоны, хранящиеся в PATHLIST. Как я могу удалить эти шаблоны, чтобы игнорировать их в окончательном отчете?

#!/bin/bash

PATHLIST="/home/*/public_html/"
TMPFILE=/tmp/xs.tmp

echo > $TMPFILE

for i in $PATHLIST; do `find $i -mtime 0 -type f ! \( -iname "*.jpg" -o -iname "*.gif" -o -iname "*.png" -o -iname "*.swf" -o -iname "*.psd" -o -iname "*.htaccess" -o -iname "*.pdf" -o -iname "*.FH11" -o -i$

if ! [ `cat $TMPFILE | grep [a-zA-Z] | wc -l` = 0 ]
then
for i in `cat $TMPFILE`
do
echo "Found $i"
done | mail -s "Recent changes detected" [email protected]
fi

0

Решение

В опубликованном коде есть ряд серьезных ошибок (т.е. ничего не выводить в файл tmp, открыть набор обратных галочек, открыть цикл).

Трудно сказать, чего вы пытаетесь достичь, но очевидно, что вы используете как глобализацию файлов (т. Е. PATHLIST), так и поиск для создания списка файлов, когда было бы гораздо лучше просто использовать поиск.

Вы можете игнорировать файлы с помощью команды find через параметр -prune.

find \( -iname '*.gif' -o -iname '*.jpg' -prune \) -o \( -print \)

Затем просто направьте этот вывод в цикл while для обработки каждого файла.

Если вы можете уточнить, что именно вы пытаетесь сделать, тогда я мог бы сделать дополнительные предложения …

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]