tr from the command line
Carl Parrish
plug-discuss@lists.plug.phoenix.az.us
15 May 2002 00:50:43 -0700
Can't you use regexp with tr? Anyways I found rename. Wish I'd know this
was here b4. For instance did you know that you can change all *.htm to
*.html files like so
rename .htm .html *.htm
So easy. is this a standard *nix tool or just Linux or just RH? Anyone
know?
Carl Parrish
On Tue, 2002-05-14 at 18:39, der.hans wrote:
> Am 14. May, 2002 schwätzte Carl Parrish so:
>
> > I've got a lot of files called *_log. I want to change them all to
> > *.log. I *think* I want to use the tr command. Can anyone give me the
> > syntax? my undertanding from the info and man files isn't working.
>
> The problem with tr is that it will change every occurance, e.g.
>
> $ echo fred_vuz_hier_log | tr _ .
> fred.vuz.hier.log
>
> What you need is something that either turns _log into .log or at least
> recognizes that the _ is right before log, which is the end of the string.
>
> $ for i in 1 2 3 4 5 6; do touch /tmp/fred/${i}_log; done
> $ ls /tmp/fred
> 1_log 2_log 3_log 4_log 5_log 6_log
> $ for i in /tmp/fred/*_log; do mv $i ${i%_log}.log; done
> $ ls /tmp/fred
> 1.log 2.log 3.log 4.log 5.log 6.log
>
> '%' tells bash to knock that string off the end if it exists.
>
> Use '#' to whack something off the beginning.
>
> $ for i in /tmp/fred/6*; do dir=`dirname $i`; log=`basename $i`; mv $i
> $dir/six${log#6}; done
> $ ls /tmp/fred
> 1.log 2.log 3.log 4.log 5.log six.log
>
> ciao,
>
> der.hans
> --
> # https://www.LuftHans.com/
> # Motorraeder toeten nicht. Motorraeder werden getoetet.
>
> ________________________________________________
> See http://PLUG.phoenix.az.us/navigator-mail.shtml if your mail doesn't post to the list quickly and you use Netscape to write mail.
>
> PLUG-discuss mailing list - PLUG-discuss@lists.plug.phoenix.az.us
> http://lists.PLUG.phoenix.az.us/mailman/listinfo/plug-discuss