Если SAMPLE
и PAT
являются переменными, вы, вероятно, хотите, чтобы они были расширены до их содержимого, что означает, что вы должны заключить их в двойные кавычки, а не в одинарные. Пример:
SAMPLE=3
# Compare single quotes versus double
echo '$SAMPLE' # outputs $SAMPLE
echo "$SAMPLE" # outputs 3
Если SAMPLEFILE
- это имя файла, вы должны заключить его в двойные кавычки, иначе он завершится неудачно, если в вашем имени файла есть пробелы, поэтому вы должны использовать:
grep "$SAMPLE" "$SAMPLEFILE"
Итак, теперь вы можете проверить, работает ли ваш grep
следующим образом:
grep "$SAMPLE" "$SAMPLEFILE" | grep "$PAT1" | cut -d "," -f 1
Итак, если это сработает, следующее: вы хотите захватить вывод команда, поэтому вам нужно использовать $(...)
. Это означает:
EXCLUDE_FOLDER=$(grep "$SAMPLE" "$SAMPLEFILE" | grep "$PAT1" | cut -d "," -f 1)
Итак, посмотрите, работает ли это сейчас:
echo "$EXCLUDE_FOLDER"