проверить аргументы командной строки

Похоже, вы просто хотите заменить запятую во вводе тире, поменять местами два поля и добавить .xmlв конце. Это легко сделать с помощьюawk:

$ awk -v FS=',' -v OFS='-' '{ print $2, $1 ".xml" }' dates
2015-01-31-378464.xml
2015-03-31-1019348.xml
2015-03-31-1019342.xml
2015-03-31-1019347.xml
2015-05-11-1019349.xml

Если ваш входной файл имеет окончания строки DOS -, сначала отправьте ввод через tr:

$ tr -d '\r' <dates | awk -v FS=',' -v OFS='-' '{ print $2, $1 ".xml" }'
4
14.08.2018, 17:42
1 ответ

Попробуйте приведенный ниже скрипт,

Вариант 1

timestamp="$1"

# check if command line argument is empty or not present
if [ -z $1 ]; then
        echo "Parameter 1 is empty"
        exit 0
elif [ "${#timestamp}" -lt 10 ]; then
        echo "Please enter at least a valid date"
        echo "Example: 2018-08-14"
        exit 0
else
        echo "THIS IS THE VALID BLOCK"
fi

Вариант 2

[[ $1 =~ ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ ]] && date -d "$1"
2
27.01.2020, 20:52

Теги

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