General :: Access Files With Spaces From Command Line?
Mar 17, 2011
How do I access files with spaces from the command line?
for example I want to go to a file called "New File" and let's say is in Downloads/Books/(and here is the file)
how do I input the space since the command line doesn't recognize it?
I am trying to encode files via mencoder. The file name has spaces in it. "test file.mkv". When I manually type the command in the terminal, everything works. But when I use a bash script (I'm reading it from a file) it doesn't. It gives me
Code: File not found: '"test' Below is the bash script I wrote
Code: #!/bin/bash # For testing, we have already built a file list, so just use that. # ls *.mkv>files.lst exec 10<files.lst let count=0 while read -u 10 FILE; do LINE="mencoder -of lavf -lavfopts format=mp4 -vf scale=1024:-3 -ovc x264 -x264encopts crf=28:vbv_maxrate=1500:nocabac:global_header:bframes=0 -oac faac -faacopts br=160:mpeg=4:object=2:raw -channels 2 -srate 48000 "$FILE" -o test.mp4" echo $LINE exec $LINE done
exec 10>&- files.lst contains only a single line (no newline) with Code: test file.mkv
On a related note, when I was first trying this simply on the command line, I had a file that had a double exclamation point. I found out that that is a shortcut of some kind for the previous command. My kludge to get around this was to try to execute a single exclamation point as a command, then to change the double exclamation point to a quadruple exclamation point. Is there a proper way (escape sequence or something) to pass double exclamation points to a command?
One system send files to linux machine and it is name contains spaces and I tried to move it from one directory to other, but it show error: Ex:- mv -f file one file two mv: target 'one' is not a directory
I have Red Hat 5.4, and I'm trying to log in using tty1 by pressing Ctrl-Shift-F1. I get to the text login screen, my banner displays, but when I try to log in as root, the banner just displays again and it asks me to log in.
It does not say that my password is incorrect, just asks me log in as if the previous exchange never happened. I have added tty1 to /etc/securetty, and all the other tty's and vc/1, vc/2, etc...in an attempt to get something to work. I recently started using PAM for password authentication, and the pam_securetty.so line is set correctly in /etc/pam.d/login. Any idea why I can't log in? Did I miss something I have to add?
I'm looking for a solution for the following simple problem. I have two files, fileA and fileB. Each file contains only one word per line, and they contain exactly the same number of lines. I would like to create a new file called fileAB, where the i-th line contains the i-th line of fileA, a Tab separator character, and then the i-th line of fileB. I know how to do it in Python or other scripting languages, but it would be nice to have a bash one-liner for that. Is it possible to do this in bash or any other Unix shell, using the tools that are usually available on the command line (e.g., sed, awk and such)?
I have huge text files with two fields, the first is a string the second is an integer. The files are sorted by the first field. What I'd like to get in the output is one line per unique string and the sum of the numbers for the identical strings. Some strings appear only once while other appear multiple times. Given the sample data below, for the string glehnia I'd like to get 10+22=32 in the result. how to do this either with gnuwin32 command line tools or in linux shell?
I have a large amount of log files that I need to remove sensitive data from. The sensitive data is provided to me in a text file and is prone to change. I had hoped to do the equivalent of this:
[Code]....
The commented out egrep works fine, the sed doesn't. Am I right to use sed for this? Or is there a more apt route to take?
At the linux command line, I'd like to compress all .pdf files in a directory, any of it's subdirectories and so on - but only .pdf files. I'm struggling to figure out the syntax
Lets say I have 20 files named FOOXX, where XX is the number of the file, eg 01, 02 etc. At the moment, if I want to delete all files lower than the number 10, this is easy and I just use a wildcard, eg rm FOO0* However, if I want to delete specific files ina range, eg 13-15, this becomes more difficult. rm FPP[13-15] does not work, and asks me if I wish to delete all files. Likewse rm FOO1[3-5] wishes to delete all files that begin with FOO1 So, what is the best way to delete ranges of files like this? I have tried with both bash and zsh, and I don't think they differ so much for such a basic task?
This has to also show the line count. I can get it to show the files but not the line count. What is the single command used to identify only the matching count of all lines within files under the /etc directory that contain the word „HOST? List only the files with matches and suppress any error messages.
I am using ubuntu and mysql.I have a list of many .sql files, like 1.sql, 2.sql, 3.sql ... 100000.sqlI need to insert them into the database mysql mydb < *.sqlGives me: -bash: *.sql: ambiguous redirect
I am trying to run an scp command on my linux server, this is working fine, however I changed the output folder to one which has spaces and now when run, it's coming up saying SCP ambiguous target
I am reading the output of /proc/acpi/thermal_zone/ATF0/temperature in a program to read my CPU temp. I am using cat like the following:
Code: #cat /proc/acpi/thermal_zone/ATF0/temperature temperature: 49 C
I basically want to get rid of the spaces in between temperature and the actual temperature. Is there a command I can pipe the cat output to, to remove the spaces. I have seen suggestions for sed, or tr, but for some reason I cannot get them to work properly.
I need to copy all subdirectories and files from one directory to another ever 5 minutes or so, with the old data automatically being overwritten with the new data. I'd also like this to run at startup. Is there any way this can be done? If so, what program would I need to schedule the automation and what is the command line I would need.
Write a script that will take a list of filenames as arguments and output a count of how many of them are regular files, and how many of them are scripts (if the file is executable, it will be assumed to be a script file)
Is it possible, in Linux, to rename a file from something without spaces to something containing spaces? I know I can create directories and files with spaces by doing:
mkdir "new dir" and:
touch "new file.txt"
I want to rename files from:
imgp0882.jpg to something like:
20091231 1243 some topic.jpg
And how would it look in a shell script that uses parameters like:
for i in *.jpg do rename "$i" "$somepath/$mydate $mytime $mytopic$extension" ?
I'm new to Linux (using PCLinuxOS 2009.2), coming from Windows, and I've written myself a little shell script to download files from my camera and then automatically rename them according to a date-and-topic pattern. As you can guess by now, I'm stuck on the bit about renaming. If you want to see my script, here's a copy. I'm not using jhead for this renaming because that only works with JPEG files but I want a single solution for any media format including videos.
I have a lot of files with tabs littered throughout, and I'd like to convert them all into spaces. I know about the expand command, but unfortunately I would have to type out every single file using it. Is there any easier way to do this on Linux?
Is there a method at the command line to copy files from one location to another and retain the source files group and user?I'm migrating some MySQL files from one machine to another.I want to back-up the original files in the directory presently. They have owner:group of mysql, some have owner:group root:mysql and so on. To copy them under cli or Nautilus everything changes to root for I execute sudo cp or gksudo nautilus and copy via gui.
Since it is MySQL data I could simply do a dump of the database and restore it on the other machine. But there's about 20 db's and I want to do this via a copy for it will be faster - at least that is what I think.
I named a number of files with spaces in them, and I want to replace the space with "_". However, every time I write a command in the shell with the file name (eg "Spring 2011"), the shell doesn't recognize the file or directory. What can I do about this? Is there any way to use the unicode character for a space?
with that said i burned fedora 8, 10, and 11 checked the sha1 verified everything was fine i had originally installed fedora 8 on an old pc i had from windows XP without any problems messed with it some, upgraded to 10 again no problems. tired to update 11 got a message about ext3 not found ext4 not found, re installed 10 the loader loads up now i have a blank screen with a cursor it the left hand corner
again i had 10 installed fine prior to all this can any one point me in the right direction to solve this issue or am i way over my head trying to figure this stuff out. i have spent 3 days searching these forums.
i'm just not quite sure what i need to do. oh, i tried to install 8 again and it wouldn't take either. i think the 10 problem has something to do with the graphic driver it's a geforce 7400 nvidia and something to do with the grub, but like i said i get a blinking cursor and not quite sure how to access the grub or command line.
I cannot connect to the internet on the command line. Things like firefox or chrome browser work fine. But on the command line programs like 'links' fail to work. This is on a machine behind a proxy, I have the http_proxy and https_proxy environment variables set properly.
I am taking an argument from the command prompt for my shell script ie $1 and i need to use $1 in my awk part of the script.But it actually doesn't get any value when used in awk. accessing this command line argument in awk?
my fedora 14 did an automatic update tonight and on reboot it hangs displaying the "f" before the login in menu. The "f" is how I now feel.I do "fn+f2" as it is booting and it displays the sequence of loading items which report all is "ok" until it gets to "jexec services" and then it hangs.I do not know how to access the machine in command line mode and I am not sure what to do from here. I beleive the "jexec service" is a Sun Java item but I am not sure.
I've searched the forums and the google looking for a means to do this and haven't found anything I can use. I have a large file that looks like this:
Code:
18000034161828M850 18000034172676M850 98 093095
[code]...
I need to add spaces at the end of each line to ensure that every line has 80 chars before the carriage return. I was thinking something like this, but it doesn't do the right thing:
Code:
cat filename | sed -e 's/$/(bunch of spaces)/' | cut -c1-80 > filename2
I'm on fedora, so I can use awk, sed, bash, ksh, etc.
just learning qemu. Been able to figure out everything fine, except one thing: what do I need to add to my qemu command-line to give my VM access to the Internet?
I read online docs, but to be honest, the VLAN/TAP stuff they describe doesn't make much sense to me.