![]() |
|
|
|
|
|||||||
| UNIX for Dummies Questions & Answers If you're not sure where to post a UNIX or Linux question, post it here. All UNIX and Linux newbies welcome !! |
|
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| rename | bohoo | Shell Programming and Scripting | 1 | 04-07-2008 12:05 PM |
| How to rename Xterm terminal in VNC session | bache_gowda | UNIX for Dummies Questions & Answers | 0 | 04-16-2007 03:44 AM |
| Pseudo-terminal will not be allocated because stdin is not a terminal. | Shivdatta | UNIX for Advanced & Expert Users | 0 | 03-20-2006 06:58 AM |
| rename using mv ? | simon2000 | UNIX for Dummies Questions & Answers | 2 | 03-19-2004 12:46 AM |
| connecting to unix through hyper terminal - as a dumb terminal | michelle | UNIX for Advanced & Expert Users | 2 | 11-05-2001 11:32 AM |
|
|
Submit Tools | LinkBack | Thread Tools | Display Modes |
|
|||
|
chm and pdf help in terminal (rename)
i have a cd of pdf and chm documents that i transfered from my windows xp box. i transfered the files to my linux box (ubuntu hardy). unfortunately, i used to be a windows GUI only user so the use of spaces and "( )" and underscores. now that i use linux, ive been using CLI for using and moving/coping files. when i tried to view a .chm file, i had installed chmsee for those files, i got problems saying that the use of "(" isnt allowed. is there anyway in the terminal to use those files in such a fashion like, for example, the file "Linux file (2005).chm", and use "mv" the change the name without having to use GUI. something like this:
"mv Linux file (2005).chm Linux_file_2005.chm" is this possible??? |
| Forum Sponsor | ||
|
|
|
|||
|
You just need to escape or double quote the special characters on the command line. In my experience, Bash does this for you automatically with tab completion, although there are some minor glitches.
The only characters you absolutely cannot use in a file name are slash (because it's used to separate directories) and ASCII null (because it's used internally to terminate strings). Here's a quick attempt at batch rename. Code:
for f in *; do case $f in *[!A-Za-z0-9_-]*) mv -i "$f" "`echo "$f" | tr " " _ | tr -dc A-Za-z0-9_-`";; esac done |
|
|||
|
ok
i used the double quotes around the original file name and then changed it with underscores. thanks for the tip. Code:
for ex: linux books 2005.chm $mv "linux books 2005.chm" linux_books_2005.chm Code:
chmsee linux_books_2005.chm Code:
chmsee: error while loading shared libraries: libxul.so: cannot open shared object file: No such file or directory |
|
|||
|
If you installed chmsee from an Ubuntu repository, it should have pulled in any packages it depends on.
Code:
vnix$ apt-file search libxul.so libxul-dev: usr/lib/libxul.so libxul0d: usr/lib/libxul.so.0d libxul0d: usr/lib/xulrunner/libxul.so libxul0d-dbg: usr/lib/debug/usr/lib/libxul.so.0d xulrunner-1.9: usr/lib/xulrunner-1.9a8/libxul.so xulrunner-1.9-dev: usr/lib/xulrunner-devel-1.9a8/sdk/lib/libxul.so (XUL is the Mozilla toolkit, XULrunner is basically Mozilla without the actual browser -- can be useful for running Chatzilla as a separate process, for example.) |
|||
| Google UNIX.COM |