Похоже, вы просто хотите заменить запятую во вводе тире, поменять местами два поля и добавить .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" }'
Попробуйте приведенный ниже скрипт,
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
[[ $1 =~ ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ ]] && date -d "$1"