Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.debian.user > #205947
| From | David Wright <deblis@lionunicorn.co.uk> |
|---|---|
| Newsgroups | linux.debian.user |
| Subject | Re: Bash file to variable string problem -- must be simple. What am I missing? |
| Date | 2019-03-03 06:10 +0100 |
| Message-ID | <xxrxU-8cu-3@gated-at.bofh.it> (permalink) |
| References | <xxnDY-5kl-9@gated-at.bofh.it> <xxnNE-5D7-11@gated-at.bofh.it> <xxpmq-6ob-1@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Sat 02 Mar 2019 at 21:48:26 (-0500), deb wrote: > On 3/2/19 8:07 PM, Roberto C. Sánchez wrote: > > On Sat, Mar 02, 2019 at 07:56:58PM -0500, deb wrote: > > > This has to be simple and I'm just missing it. > > > > > > If I pull a filename from a temp file into a variable, I can ls it fine. > > > > > > If I cut off the extension, and tack on my own SAME EXT, ls no longer > > > works. > > > > > > (The actual script is more elaborate, loading vlc , etc -- but this > > > summarizes & shows my issue) > > > > > > # mp4file.txt holds just 'long file with spaces.mp4' > > > > > > fname=$(<mp4file.txt) > > > > > > # echo $fname shows the right filename.mp4 string > > > > > > # works > > > ls -al "$fname" > > > > > > # Cut off the extension. > > > fname=`echo $fname | rev | cut -d. -f2 | rev` > > > > > > # echo $fname shows the filename sans '.mp4' > > > > > > # THIS LS FAILS, WITH FILE NOT FOUND (but actually reports the exact > > > string that worked above, but not being found here). > > > > > > ls -al "$fname".mp4 > > > > > > ls: cannot access 'long file with spaces.mp4': No such file or directory > > > > > I cannot replicate the behavior you describe. Here is how it looks for > > me: > > > > root@chroot:~# touch "long file with spaces.mp4" > > root@chroot:~# echo "long file with spaces.mp4" >mp4file.txt > > root@chroot:~# cat mp4file.txt > > long file with spaces.mp4 > > root@chroot:~# ls -l > > total 4 > > -rw-r--r-- 1 root root 0 Mar 3 01:02 long file with spaces.mp4 > > -rw-r--r-- 1 root root 26 Mar 3 01:02 mp4file.txt > > root@chroot:~# fname=$(<mp4file.txt) > > root@chroot:~# ls -al "$fname" > > -rw-r--r-- 1 root root 0 Mar 3 01:02 long file with spaces.mp4 > > root@chroot:~# fname=`echo $fname | rev | cut -d. -f2 | rev` > > root@chroot:~# ls -al "$fname".mp4 > > -rw-r--r-- 1 root root 0 Mar 3 01:02 long file with spaces.mp4 > > > > What version of bash are you using? > > > > > ------------------------------------------------------ > > > > > > It is not: > > > > > > * a special character thing, > > > > > > * a carriage return thing, > > > > > > * a character case thing, > > > > > > * not helped with './' or '~/' added in front of the filename. > > > > > > * It's the same string in both spots. > > > > > > Any thoughts folks? > > > > > I am not sure about the overall problem, but I can say I would replace > > this: > > > > fname=`echo $fname | rev | cut -d. -f2 | rev` > > > > with this: > > > > fname=$(basename "$fname" .mp4) > > > > Regards, > > > > -Roberto > > > * > * > > *Thank you Roberto.* > > > # Cut off the extension. > # fname=`echo $fname | rev | cut -d. -f2 | rev` > > fname=$(basename "$fname" .mp4) > > ^ this does work for the *ls*, but I do not know that it will be a .mp4. > > > (It could be a .mkv, .webm, .ogg, .mp4, etc.) > > What is certain is the filename to the left of the final '.'. > > So I was building up the different choices to file test for, hence the > fname=`echo $fname | rev | cut -d. -f2 | rev` > > I'm running: > > cat /etc/issue > 9.8 > > bash --version > GNU bash, version 4.4.12(1)-release (x86_64-pc-linux-gnu) Let's see: wren!david 22:48:49 /tmp $ fname=$(<mp4file.txt) wren!david 22:48:59 /tmp $ ls -la "$fname" -rw-r----- 1 david david 0 Mar 2 22:48 long file with spaces.mp4 wren!david 22:49:10 /tmp $ fname=`echo $fname | rev | cut -d. -f2 | rev` wren!david 22:49:23 /tmp $ ls -la "$fname".mp4 ls: cannot access 'long file with spaces.mp4': No such file or directory 2 wren!david 22:49:35 /tmp $ Here are the preceding two lines: wren!david 22:48:23 /tmp $ touch ' long file with spaces.mp4' wren!david 22:48:25 /tmp $ echo ' long file with spaces.mp4' > mp4file.txt I notice that you haven't actually pasted your own session in the OP, so we don't really know what strings you were manipulating. Cheers, David.
Back to linux.debian.user | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Bash file to variable string problem -- must be simple. What am I missing? deb <deb@rangingthoughts.org> - 2019-03-03 02:00 +0100
Re: Bash file to variable string problem -- must be simple. What am I missing? Roberto C. Sánchez <roberto@debian.org> - 2019-03-03 02:10 +0100
re: Bash file to variable string problem -- must be simple. What am I missing? deb <deb@rangingthoughts.org> - 2019-03-03 03:50 +0100
re: Bash file to variable string problem -- must be simple. What am I missing? "der.hans" <deb-user@LuftHans.com> - 2019-03-03 04:40 +0100
[SOLVED] Re: Bash file to variable string problem -- must be simple. What am I missing? deb <deb@rangingthoughts.org> - 2019-03-03 16:10 +0100
Re: Bash file to variable string problem -- must be simple. What am I missing? David Wright <deblis@lionunicorn.co.uk> - 2019-03-03 06:10 +0100
Re: Bash file to variable string problem -- must be simple. What am I missing? "Thomas Schmitt" <scdbackup@gmx.net> - 2019-03-03 08:50 +0100
Re: Bash file to variable string problem -- must be simple. What am I missing? David Wright <deblis@lionunicorn.co.uk> - 2019-03-03 16:40 +0100
Re: Bash file to variable string problem -- must be simple. What am I missing? "Thomas Schmitt" <scdbackup@gmx.net> - 2019-03-03 18:50 +0100
Greg: Re: Bash file to variable string problem -- must be simple. What am I missing? deb <deb@rangingthoughts.org> - 2019-03-04 14:40 +0100
Re: Bash file to variable string problem -- must be simple. What am I missing? Greg Wooledge <wooledg@eeg.ccf.org> - 2019-03-04 14:40 +0100
[SOLVED II] (Thomas) Re: Bash file to variable string problem -- must be simple. What am I missing? deb <deb@rangingthoughts.org> - 2019-03-03 19:20 +0100
Re: Bash file to variable string problem -- must be simple. What am I missing? "Thomas Schmitt" <scdbackup@gmx.net> - 2019-03-03 22:50 +0100
Re: Bash file to variable string problem -- must be simple. What am I missing? David Wright <deblis@lionunicorn.co.uk> - 2019-03-04 09:40 +0100
David - Re: Bash file to variable string problem -- must be simple. What am I missing? deb <deb@rangingthoughts.org> - 2019-03-04 15:10 +0100
Re: David - Re: Bash file to variable string problem -- must be simple. What am I missing? Greg Wooledge <wooledg@eeg.ccf.org> - 2019-03-04 15:40 +0100
csiph-web