Я ищу grep
для строки, которая может содержать положительные или отрицательные числа.
По сути, у меня есть следующий текст в файле, расположенном по адресу /home/Me/test
dcredit = -1
ucredit = 1
Я хочу найти этот файл для строки, а затем из вывода этого совпадения строки длячисловое значение.Это значение может быть статическим значением или диапазоном (например, любое отрицательное число).
Вот код.Я пишу это в Bash
.Я прошел несколько лет с тех пор, как написал в Bash
.Моя цель - использовать вывод строки grep и найти числовое значение.На основании этого результата выведите X elif print Y. Я собираюсь сделать это для нескольких местоположений файлов, поэтому я хочу изменить только назначенные переменные для каждого блока в сценарии.
SEARCHLOCAL="/home/Me/test"
SEARCHTERM="dcredit = "
COLUMN="3"
NUMVAL="<0"
grep "$SEARCHTERM" "$SEARCHLOCAL" | awk '$"$COLUMN""$NUMVAL"' "$SEARCHLOCAL"
Output=$?
if [ $Output == "$NUMVAL" ]
then
Print X
elif
Print Y
fi
Печатными результатами этого являются две строки, содержащиеся в файле.
dcredit = -1
ucredit = 1
В приведенном выше примере я ищу только decredit
и имеет ли оно отрицательное значение.Это может быть любое значение меньше 0.
Я не знаю, почему я получаю двухстрочный вывод, когда awk должен искать только с выхода grep
, а grep
толькоищу dcredit
.
AG45.