Как вывести уникальные строки из совпадения с шаблоном grep, игнорируя другие части строки?

Хорошо. Вы должны добавить проверку, установлены ли позиционные переменные или нет. Если нет, то попросите использовать ввод.

Примерно так:

#!/bin/sh

[ -n "$1" ] && ENVIRONMENT_NAME=$1 || { echo -n "Enter environment name: "; read ENVIRONMENT_NAME; }
if [ -n "$2" ]; then
        EMAIL=$2
else
        echo -n "Enter email: "
        read EMAIL
fi


echo "env=$ENVIRONMENT_NAME"
echo "email=$EMAIL"

Обратите внимание, что я использовал разные конструкции для условной проверки, просто чтобы показать, что есть разные способы, и вы можете выбрать тот, который вам удобнее.

Также обратите внимание, что вариант с || &&следует использовать более осторожно, так как он может упасть до ||...даже в случае, если что-то пойдет не так в части между &&.. ||.

1
18.05.2021, 06:35
1 ответ

Можно пойти и наоборот. Игнорировать электронные письма:

cut -d'<' -f1 names.txt | sort -fu

Это обрезает строку по разделителю <и печатает первое поле, сортирует (без учета регистра-f)и затем сохраняет только первое из имен, которые отличаются только своим регистром (также игнорируя случай с-u).

1
28.07.2021, 11:31

Теги

Похожие вопросы