On Thursday, October 25, 2012 11:37:33 AM UTC-5, Michael Young wrote:
> Hello!
> I am attempting to use vim in a shell script to read in a file, edit it, and write it out to a new file. When I manually execute the individual vim commands it seems to work properly but when I put the commands in a script file and try to use that, the commands don't seem to work. My shell script generates a recursive file directory listing. I then want to use vim to edit the listing to replace any spaces in each file path with \space. I am including the shell below. HELP!
> Thanks!
> Michael
>
> #!/bin/sh
>
> # Generate a recursive list of full pathnames for all filenames that do not
> # begin with a "."
> find "$1" -type f -and \! -name ".*" > filelist1
>
> # Generate the input script for the vim editor
> # Go through the "find" listing and replace every " " with "\ "
> cat << EOF > vimscript
> :%s/ /\\ /g
> :wq! md5shell
> EOF
>
> # Execute vim with the generated input script
> vim -s vimscript filelist1
Your cat command does not create the file you expect. Garbage in, garbage out. I did the cat command by hand and got a file with contents:
:%s/ /\ /g
:wq! md5shell
Note the lack of a second \ character.
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
Thursday, October 25, 2012
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment