Problem:  I have an escaped string saved within a variable:  escapedFileName='/dbDumps/Mon\ Oct\ \ 1\ 15\:22\:50\ UTC\ 2018.sql'   but whenever I try to use this file name within the following command, I get an error message saying that this path does not exist (even though it does).  /usr/bin/mysql -u root -pmypassword system &lt; "$escapedFileName";   When i use the path and not the string it works :  /usr/bin/mysql -u root -pmypassword system &lt; /dbDumps/Mon\ Oct\ \ 1\ 15\:22\:50\ UTC\ 2018.sql   What am I doing wrong ?
46580
I'm trying to escape the space char for a path in Bash, but neither using a  or  works.  .sh script:  ROOT="/home/hogar/Documents/files/" FILE=${ROOT}"bdd.encrypted" DESTINATION="/home/hogar/Ubuntu\ One/folder"  mv ${FILE} ${DESTINATION}   After execute the script (./file) this is the result:  mv: target 'One/folder' is not a directory   Why does the mv command split the string, and how do I stop this from happening?
25903
Many days ago, I found this useful bash alias (contents of my ~/.bash_aliases)  # aliases  # finds temporary files ending with '~' and deletes them alias rm~='find . -name '*~' -print0 | xargs -0 /bin/rm -f'   Now I tried to use rm~ after cd to some directory containing 3 files ending in ~  I got this error in terminal, and files did not get deleted  find: paths must precede expression: 1n.in~ Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]   Also when I tried rm~ from /home/me, it seems to be doing nothing. Or it might be taking a lot of time.  Please tell me why am I getting error, and how to fix it.  Thanks!
38314
touch ~/deleted/$(echo "directory_"$(readlink -f foo)|tr '/' '\') 2&gt; /dev/null   where foo is a directory  It's reading the full pathname of foo and creating it as a file replacing all '/' with '\' and putting a directory_ in front so the directory  /home/test/foo would create a file directory_\home\test\foo  It does exactly what I want except a warning keeps printing tr: warning: an unescaped backslash at end of string is not portable   a. I don't know what that means b. I would like it to not show  I tried to redirect stderr to /dev/null but it doesn't work. How do I suppress it?
40363
I'm trying to replace each , in the current file by a new line:  :%s/,/\n/g    But it inserts what looks like a ^@ instead of an actual newline. The file is not in DOS mode or anything.  What should I do?  If you are curious, like me, check the question  as well.
48925
It's hard to search for special characters on google, which is why I'm posting this here.  I recently ran (as root) a mv /tmp/folder/* /* when I meant to run mv /tmp/folder/* ./ Big mistake!  Things broke! A lot of files got mixed up and placed into strange places, none of the normal unix commands worked (ls, dir, cat, etc) and once you logged off, you couldn't ssh back in -- it would give you a prompt, but not accept the old passwords.  Running ls /* shows me that it performs ls on every directory in /. If I tried to draw a parallel, then mv should have simply moved (or copied?) the files to every directory in /. Instead, really weird things happened, and I was just curious what exactly was going on.  More info: The files in /tmp/folder had been transferred from a windows machine, and had been named file (#).txt, where (#) is a number up to two digits, with a space between file and the parenthesis. There were ~40 of these text files.
84698
I'm looking to write a script that will find and replace any characters other than [^A-Za-z0-9._-] in a specific file type (in this case .avi) with an underscore _. I want this to exec recursively from the current path. I'm using Ubuntu.  I do not want or need to change any folder names as I have control over those at the time of creation. Here's what I have now after referencing the following link:    find . -depth -exec rename 's!([^/]*\Z)/[^A-Za-z0-9._-]/_/g' *.avi {} +   I'm clearly missing something. Please help. :)
95760
Just noticed it works on Maverick.. the colon character : is valid for file and directory names (I accidentally entered it for a filename in Atom).  Can't find any reference to it becoming valid though ( still marks it as invalid).  It works in the Atom editor.  I can create a file called : with nano.  This works echo 'test' &gt; : &amp;&amp; cat :  In TextWrangler it only works if the file already exists but won't create it (with command line tools installed edit :)  Is this new from Mavericks? Works in Yosemite? Before?  Edit: A few more tests:    TextEdit won't allow me to enter it and always replace it with - Finder won't allow me to create a folder with the name :  A : file created via command line is displayed as / in Finder.. and double clicking it will open it in TextEdit. TextEdit will load its content but show the name / in the title bar.
106417
I have a program on my path.  The program runs when executed with a full path specified.  But the program cannot be found when I run it with just its name.    Essentially, I want to understand how the below output is possible, and how to fix it so that my program can actually be found without a full path specified:  root:/usr/local/bin# ./siege **************************************************** siege: could not open /usr/local/bin/etc/siegerc run 'siege.config' to generate a new .siegerc file **************************************************** root:/usr/local/bin# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games root:/usr/local/bin# siege bash: /usr/bin/siege: No such file or directory root:/usr/local/bin# wtf!?!?   I'm on Ubuntu 12.04 using bash.  Also please note the warning output from siege is not relevant for the purposes of this question, as I am only interested in whether or not the program can be found and invoked.
14151
Is there any way of executing a mv command without typing the full path in the second argument?  Example:  mv my/file/that/has/a/really/long/path/foo.bar some_magic_operator_that_means_the_same_directory/foo.baz
54667
I just wanted to ask whether there is any command which would work on common shells (bash, dash, kornshell)? It is supposed to check if the line variable contains any part of the path.  if [[ $line =~ "$PWD"$ ]] ;then
80943
I want to pipe file names to other programs, but they all choke when the names contain spaces.  Let's say I have a file called.  foo bar   How can I get find to return the correct name?  Obviously I want:  foo\ bar   or:  "foo bar"   EDIT: I don't want to go through xargs, I want to get a correctly formatted string out of find so that I can pipe the string of file names directly to another program.
56431
I'm going crazy...  I have a file I want to include which path is C:\Users\Matthieu\Documents\Folder withOneSpace\myFile.tex. (As you can see with the \, I'm on windows actually)  I tried the following but none works:  \input{C:/Users/Matthieu/Documents/Folder withOneSpace/myFile} \input{C:/Users/Matthieu/Documents/Folder\ withOneSpace/myFile} \input{C:/Users/Matthieu/Documents/Folder withOneSpace/myFile.tex} \input{C:/Users/Matthieu/Documents/Folder\ withOneSpace/myFile.tex}   I also tried to put the file out of the folder with a space and it works (no surprise):  \input{C:/Users/Matthieu/Documents/myFile} --&gt; Works   All I found is to put a \ before the space but it doesn't work at all. --> Please help ! :)
9932
My path is \\server\folderName1\another name\something\another folder\  How do I extract each folder name into a string if I don't know how many folders there are in the path and I don't know the folder names?  Many thanks
33821
I used to use '' and "" (single and double-quotes) interchangeably on the command line, but I recently noticed that '$HOME/some/dir' is not expanded, while "$HOME/some/dir" is. I searched around a little bit and found that "" allows some protection of special characters, while '' allows full protection. So what other characters are protected by '' and not ""?  EDIT: What are practical situations in which these differences might be significant?
55413
The question is pretty straight forward. I can get the exit code of the previous command by using $?. But what exactly is it?  I don't think it is a variable, because you can't have any special characters in the name of variable other than _.  foo?foo=10   will result in the error: foo?foo=10: command not found  So if it is not a variable, what is it? Are there others like it?
40225
I am searching for files which name which contain AAA within their path using following command:  find path_A -name "*AAA*"   Given the output showed by the above command, I want to move those files into another path, say path_B. Instead of moving those file one by one, can I  optimize the command by moving those files right after the find command?
112544
What's wrong with the commands below?  $ var1="~/Music/$(date +%d%m%y)" $ echo "$var1" ~/Music/240118 $ mkdir "$var1" mkdir: cannot create directory ‘~/Music/240118’: No such file or directory   However  $ mkdir ~/Music/240118   works.  Never thought I would ask such questions after years of using bash...