[ale] Determining a scripts language?

Alex Carver agcarver+ale at acarver.net
Wed Apr 6 21:13:35 EDT 2016


I can't remember.  I know it works in bash and ksh.  I don't think I
ever tried it in sh.

On 2016-04-06 17:48, Pete Hardie wrote:
> One question on that - I assume it's bash only and not original(tm) Bourne shell?
> 
> On Wed, Apr 6, 2016 at 8:08 PM, Alex Carver <agcarver+ale at acarver.net 
> <mailto:agcarver+ale at acarver.net>> wrote:
> 
>     No echos, other commands or subshells here, use bash built-in regex:
> 
>     (Make a subdirectory to accept the destination files to make things
>     cleaner or put the sources in a subdir and move the destinations up a level)
> 
>     #!/bin/bash
>     subdir=subdirname
>     for f in * (or *.* or whatever pattern you want)
>     do
>              cp $f ${subdir}/${f%.*}.txt
>     done
> 
> 
> 
> 
>     %.* trims everything from f after the last dot (including the dot)
>     returning the prefix
>     %%.* is greedier and will trim everything after the first dot
> 
> 
>     On 2016-04-06 15:39, Pete Hardie wrote:
>     > perhaps something lile this:
>     >
>     > for file in *.*
>     > do
>     >      parts = $(echo $file| tr "." " ")
>     >      bname = `basename $parts[0] $parts[1]`
>     >      cp $file ${bname}.txt #or whatever processing you are doing here with $file
>     > the whole name and $base the name sans suffix
>     > done
>     >
>     >
>     >
>     > On Wed, Apr 6, 2016 at 6:27 PM, Pete Hardie <pete.hardie at gmail.com <mailto:pete.hardie at gmail.com>
>     > <mailto:pete.hardie at gmail.com <mailto:pete.hardie at gmail.com>>> wrote:
>     >
>     >     Is the issue that you don't want a separate command for each suffix, or that
>     >     you will not know all the suffixes ahead of time?
>     >
>     >     On Wed, Apr 6, 2016 at 6:22 PM, Scott M. Jones <eff at dragoncon.org <mailto:eff at dragoncon.org>
>      >     <mailto:eff at dragoncon.org <mailto:eff at dragoncon.org>>> wrote:
>      >
>      >         Great answers in Stack Overflow, including a bash-only solution.
>      >
>      >
>     http://stackoverflow.com/questions/15060384/one-liner-in-bash-using-perl-or-awk-to-change-extension-of-multiple-files
>      >
>      >         On 4/6/16 5:52 PM, leam hall wrote:
>      >         > I'm trying to do something simple, change the ending of a script to
>      >         > ".txt". So if it's my_script.sh it becomes my_script.txt.
>     Likewise for
>      >         > my_script.rb, etc. The .txt version will have the documentation and
>      >         > comments.
>      >         >
>      >         > So far all I've some up with is:
>      >         >
>      >         >   IS_SH=`echo ${SCRIPTNAME} | grep -c sh$`
>      >         >
>      >         > For each expected script ending. Which seems a really ugly
>     thing to do.
>      >         > Is there a better way in Bourne shell to do this?
>      >         >
>      >         > Leam
>      >
> 



More information about the Ale mailing list