I agree that 'basename' doesn't quite cut it, and your request is fair. On the other hand, I think you have grown too accustomed to the quirk of one specific shell, although other shells have something similar.
I would recommend you achieve what you want with sed, because it is really ubiquitous and will work in any shell. You may only realize how valuable that is after you have been through three or four shells, like I have (bash, ksh, tcsh and fish). So: set nameis (echo $dataset | sed 's/\([^.]\+\).*$/\1/') Personally, I prefer this cleaner way: set nameis (echo $dataset | sed -r 's/([^.]+).*$/\1/') That solution also honors the old wisdom of The Unix Way, which is one dedicated tool for each specific task. An additional benefit of that approach is that you only have to learn the traditional Regular Expressions, not some dialect that no other language or tool uses. -- Luciano ES >> ************************** On Mon, 17 Jun 2013 13:31:18 +0200, aurelien coillet wrote: > Well thanks, I knew this solution, but it only works if you know the > extension of the file. What I'm looking for is something that remove > any extension suffix, whatever it is. So, your last line should give > "myfile" alone. > > > 2013/6/17 Stestagg <stest...@gmail.com> > > > One simple method would be to use basename: > > > > nameis=(basename $dataset .foo) > > > > this will perform the following, > > > > if $dataset = myfile then $nameis = myfile > > if $dataset = myfile.foo then $nameis = myfile > > if $dataset = /path/to/myfile.foo then $nameis = myfile > > if $dataset = /path/to/myfile.bar then $nameis = myfile.bar > > > > so provided you don't need absolute paths, this is simple. > > > > Steve > > > > > > On Mon, Jun 17, 2013 at 9:22 AM, aurelien coillet > > <acoil...@gmail.com>wrote: > > > >> Hi, > >> > >> How can I perform suffix removal as this (bash) command: > >> > >> nameis=${dataset%.*} > >> > >> > >> if dataset is a filename with extension (say foo.txt), nameis will > >> only contain "foo". > >> Is there a way to do that with fish? > >> > >> Thanks, > >> > >> -- > >> Aurélien Coillet > >> > >> > >> ------------------------------------------------------------------------------ > >> This SF.net email is sponsored by Windows: > >> > >> Build for Windows Store. > >> > >> http://p.sf.net/sfu/windows-dev2dev > >> _______________________________________________ > >> Fish-users mailing list > >> Fish-users@lists.sourceforge.net > >> https://lists.sourceforge.net/lists/listinfo/fish-users > >> > >> > > > > ------------------------------------------------------------------------------ This SF.net email is sponsored by Windows: Build for Windows Store. http://p.sf.net/sfu/windows-dev2dev _______________________________________________ Fish-users mailing list Fish-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/fish-users