У меня проблема с невозможностью распечатать сообщение об ошибке, если найдено 0 записей.Awk Bash If-Else Issue
Это то, что я имею на данный момент.
function search_title
{
awk -F':' -v search="$Title" '$2 ~ search { i++;} END { printf "%d records found\n", i }' test.txt
awk -F':' -v search="$Title" '$2 ~ search { i++; printf "%s, %s,%s,%s,%s\n", $1, $2, $3, $4, $5 } END {}' test.txt
}
function search_author
{
awk -F':' -v search="$Author" '$2 ~ search { i++;} END { printf "%d records found\n", i }' test.txt
awk -F':' -v search="$Author" '$2 ~ search { i++; printf "%s, %s,%s,%s,%s\n", $1, $2, $3, $4, $5 } END {}' test.txt
}
function search_both
{
awk -F':' -v search="$Title" -v search1="$Author" '$1 ~ search && $2 ~ search1 { i++;} END { printf "%d records found\n", i }' test.txt
awk -F':' -v search="$Title" -v search1="$Author" '$1 ~ search && $2 ~ search1 { i++; printf "%s, %s,%s,%s,%s\n", $1, $2, $3, $4, $5 } END {}' test.txt
}
read -p $'Title: ' Title
read -p $'Author: ' Author
if [ "$Title" == "" ];
then
search_author
elif [ "$Author" == "" ];
then
search_title
else
search_both
fi
мне нужно, если еще заявление, чтобы проверить, если счетчик равен 0 в AWK распечатке «Error! Книга не существует»
Например, ввода названия, как Daft входа Автора, как Линкен (Оба значения не в test.txt)
«Ошибка! Книга не существует» вместо Printf теперь, который является «0 найдено записей»
Можно ли сохранить дисплей счетчика для тех случаев, когда имеются записи? , такие как если (я! = 0) // Printf я запись нашел еще // если я == 0 // ошибка книги не существует это может быть сделано? – user3245403
Я уверен проверить отредактированный код. – anubhava
ничего себе! Это удивительный способ использования awk. Большое спасибо за помощь! – user3245403