Re: Bash passing a filename with a space into xargs?
Lewis <[email protected]> Sat, 2 Apr 2022 18:56:41 -0000 (UTC)
| Newsgroups | alt.comp.lang.shell.unix.bourne-bash |
|---|---|
| Organization | Miskatonic U |
| Message-ID | <[email protected]> |
In message <[email protected]> Michael F. Stemper <[email protected]> wrote: > On 01/04/2022 11.21, Chris Roberts wrote: >> How can I get this to recognize a filename with a space? >> I am manipulating files in my script, but at the portion where I want to do a diff. I cannot get it to work. >> Would someone out there know of a workaround? (Besides saying "don't have filenames with spaces in them). :-) >> >> This is in bash: >> uno="try this.txt" >> dos=blah.pdf >> echo "$uno" "$dos" | xargs -l bash -c 'echo uno:$0 dos:$1' | xargs >> #OUT: uno:try dos:this >> >> echo "$uno" "$dos" | xargs -l bash -c 'echo uno:$0 dos:$1' >> #OUT: uno:try dos:this >> >> echo uno:"$uno", dos:"$dos" #this works, but doesn't help in my script. >> #OUT: uno:try this.txt, dos:blah.pdf > I can't quite tell what you're trying to do, but single quotes around > the definition of uno seems to help: >============================ > #!/bin/bash > uno='try this.txt' > dos=blah.pdf > ls "$uno" "$dos" >============================ Also, IFS=$'\n' is an option. -- It was all very well going about pure logic and how the universe was ruled by logic and the harmony of numbers, but the plain fact was that the disc was manifestly traversing space on the back of a giant turtle and the gods had a habit of going round to atheists' houses and smashing their windows.