Section 10.9 shows how to rename a set of files, e.g., changing *.new to *.old. Here's a different way, done from inside vi. This gives you a chance to review and edit the commands before you run them. Here are the steps:
&& Section 34.10, $ Section 32.5
% vi Start vi without a filename :r !ls *.new Read in the list of files, one filename per line :%s/.*/mv -i &&/ Make mv command lines :%s/new$/old/ Change second filenames; ready to review :w !sh Run commands by writing them to a shell :q! Quit vi without saving
If you've made your own version of ls that changes its output format, that can cause trouble here. If your version gives more than a plain list of filenames in a column, use!/bin/ls instead of just !ls.
-- JP
Copyright © 2003 O'Reilly & Associates. All rights reserved.