Discussion:
[gentoo-user] [OT] Read date input from text file problem
(too old to reply)
Walter Dnes
2023-08-06 02:30:01 UTC
Permalink
I have a situation where something that works as a literal but
doesn't work when reading from a text file. Here's the problem,
simplified...

I have a text file ztest.txt consisting of one line...

"August 14, 2021"

...and I have a script ztest consisting of...

#!/bin/bash
xtoday=$( date --date="August 14, 2021" +%F )
echo ${xtoday}
read < ztest.txt
echo "${REPLY}"
xtoday=$( date --date="${REPLY}" +%F )
echo ${xtoday}

Running the script produces three lines of output...

2021-08-14
"August 14, 2021"
date: invalid date ‘"August 14, 2021"’

What am I doing wrong?
--
I've seen things, you people wouldn't believe; Gopher, Netscape with
frames, the first Browser Wars. Searching for pages with AltaVista,
pop-up windows self-replicating, trying to uninstall RealPlayer. All
those moments, will be lost in time like tears in rain... time to die.
Paul Colquhoun
2023-08-06 03:40:01 UTC
Permalink
Post by Walter Dnes
I have a situation where something that works as a literal but
doesn't work when reading from a text file. Here's the problem,
simplified...
I have a text file ztest.txt consisting of one line...
"August 14, 2021"
...and I have a script ztest consisting of...
#!/bin/bash
xtoday=$( date --date="August 14, 2021" +%F )
echo ${xtoday}
read < ztest.txt
echo "${REPLY}"
xtoday=$( date --date="${REPLY}" +%F )
echo ${xtoday}
Running the script produces three lines of output...
2021-08-14
"August 14, 2021"
date: invalid date ‘"August 14, 2021"’
What am I doing wrong?
The date in the text file shoudn't have the quotes around it.
--
Reverend Paul Colquhoun, ULC. http://andor.dropbear.id.au/
Asking for technical help in newsgroups? Read this first:
http://catb.org/~esr/faqs/smart-questions.html#intro
Walter Dnes
2023-08-06 14:00:02 UTC
Permalink
Post by Paul Colquhoun
The date in the text file shoudn't have the quotes around it.
Thank you very much. That works. The actual data file I'm working
with has quotes around the dates, so I have to insert an extra step to
strip out the quotes with sed. Using the same ztest.txt file...

#!/bin/bash
xtoday=$( date --date="August 14, 2021" +%F )
echo ${xtoday}
read < ztest.txt
ytoday=$( echo ${REPLY} | sed "s/\"//g" )
xtoday=$( date --date="${ytoday}" +%F )
echo ${xtoday}

...produces...

2021-08-14
2021-08-14
--
I've seen things, you people wouldn't believe; Gopher, Netscape with
frames, the first Browser Wars. Searching for pages with AltaVista,
pop-up windows self-replicating, trying to uninstall RealPlayer. All
those moments, will be lost in time like tears in rain... time to die.
Loading...