You are not logged in.

#1 2008-08-09 06:23:20

Statix
Member
From: Hangzhou, China
Registered: 2008-02-16
Posts: 240

Cutting file names

I have a bunch of files named:

F4199_Otomo.ini
F2991_Dragon3E_F.dll         
F4200_Shinja.ini
etc.

(Installing Battle Realms on wine wink)

I want to get rid of the prefix. How can I do this with a bash script?


Madly in love with Arch64, Openbox, DotA, and of course... penguins!
Happy to help if you're not a Help Vampire. Use your wonderful resources like ArchWiki, Google, and our wonderful search page.

Offline

#2 2008-08-09 06:36:11

Allan
Pacman
From: Brisbane, AU
Registered: 2007-06-09
Posts: 11,384
Website

Re: Cutting file names

This should help you: http://cyborg.lug.md/?p=25

Offline

#3 2008-08-09 10:45:14

Procyon
Member
Registered: 2008-05-07
Posts: 1,819

Re: Cutting file names

(EDIT: Ignore this entry, it's bad because of multiple underscore files. Don't use it. Doing this with mmv takes a lot of extra commands. Maybe mmv '?????_*' '#6' though, if the prefixes are all 5 characters.)

mmv '*_*' '#2'

Last edited by Procyon (2008-08-09 13:07:58)

Offline

#4 2008-08-09 11:21:39

dyscoria
Member
Registered: 2008-01-10
Posts: 1,007

Re: Cutting file names

Allen's link won't load for me, but this is how i'd do it:
http://wooledge.org:8000/BashFAQ#head-c … 682991cc58

for file in *
do
    mv "$file" "${file%.*}"
done

Last edited by dyscoria (2008-08-09 11:22:06)


flack 2.0.6: menu-driven BASH script to easily tag FLAC files (AUR)
knock-once 1.2: BASH script to easily create/send one-time sequences for knockd (forum/AUR)

Offline

#5 2008-08-09 12:04:13

Procyon
Member
Registered: 2008-05-07
Posts: 1,819

Re: Cutting file names

But then mv "$file" "${file#*_}", right?

Also for security add -b and -v to mv.

I think this is better than my approach because if there are two underscores then I don't really know what will happen, I think you'll end up with a file like F.dll instead of Dragon3E_F.dll

Offline

#6 2008-08-09 12:10:00

fukawi2
Ex-Administratorino
From: .vic.au
Registered: 2007-09-28
Posts: 6,222
Website

Re: Cutting file names

To remove the prefix, you need something like:

for FNAME in $(ls) ; do
   mv $FNAME ${FNAME:6:999}
done

Test it first (replace 'mv' with 'echo')

Offline

#7 2008-08-09 12:14:05

Allan
Pacman
From: Brisbane, AU
Registered: 2007-06-09
Posts: 11,384
Website

Re: Cutting file names

That page was working earlier...  From the google cache (http://209.85.141.104/search?q=cache:tM … =clnk&cd=1)

${param%word}  - From the end, removes the smallest part of param that matches word and returns the rest.

${param%%word} - From the end, removes the longest part of param that matches word and returns the rest.

${param#word} - From the beginning, removes the smallest part of param that matches word and returns the rest.

${param##word} - From the beginning, removes the longest part of param that matches word and returns the rest.

Offline

#8 2008-08-09 19:06:09

Statix
Member
From: Hangzhou, China
Registered: 2008-02-16
Posts: 240

Re: Cutting file names

fukawi2 wrote:

To remove the prefix, you need something like:

for FNAME in $(ls) ; do
   mv $FNAME ${FNAME:6:999}
done

Test it first (replace 'mv' with 'echo')

Quick and simple, thanks!

And thanks for all the help from everyone else as well. My shell scripting knowledge is increasing slowly. smile


Madly in love with Arch64, Openbox, DotA, and of course... penguins!
Happy to help if you're not a Help Vampire. Use your wonderful resources like ArchWiki, Google, and our wonderful search page.

Offline

#9 2008-08-18 23:56:22

T-Dawg
Forum Fellow
From: Charlotte, NC
Registered: 2005-01-29
Posts: 2,736

Re: Cutting file names

Here' s how I would do it:

MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMML9H@^^&pPMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMML9HddH9MMMMMMMMME  ^@W&^^EMMMMMMMMMMLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM3  HLQ9HDMMMMMMM&^^@dH3&^^MMMMMMDN@@H_3MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM@^&PMMM_3MMMMMMD  _@zMMQ_ LMMMW__pPMMW LMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM@ 7MMMMd zMMMMMd  pLMMLz@HMMMP^^zMMMMW DMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM& dMMML_ @LMMMQ   JLJ3_ ^dMMMN^&MMMMP  EMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMD  &MMML3^^PMMME _ &p9N& ^pMMM&^@MMMMD ^7MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMME  zMLLN   PMMMW   33pWN  JMML^^_LMML9 ^EMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMQ &LzdNd ^^LMMMp  _9QMLQ^ DMML ^ @W9zPp EMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM9  7LMML   PMMMp ^WMMMML^^LzLM@^ 7PMMMJ 7MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMPPMMMMMMMMN^ QMMMM& ^9MMMd  pMMMMD ^HJMM_  WLMMM&^3MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMLH  H&NMMMMM@_ 9MMMMd _dMMMQ  dLMMME __LM3^_ pLMML&_@MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMd  ^9_^JMMMM@_ dLMMMd ^ DMM9^ 3MMLL_  3ML__^ DMMML^^dMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMML^ NLL7  7MMM3  ^PMML_   QMMd^ pLMMz   NML^_ _JLMMQ ^@MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMML  7MMMz^^LMMp  _LMLJ&   zMJ ^ zMLQH   NLQ  ^dDLLPN ^dMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMM3 @z7QME pMMd  @LDz9    7Ld   dd      WME   7MPPDd ^HMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMP_ &pJLL  EMp   HEEd^   ^9 _          WP&^ @DMLQ7   pMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMM7  NMMJ_  7W   ^_&_^    @^_   @p     H&^  HQEp^_ ^^7MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMP  &LMP3   W   HJPN         pDLQ_     ^^  _H3&_& ^ JMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMH  HNH_     ^ JML7     _^ @PMMMQ_    ^   @WJd^^   PMMMMMMMMMLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMME ^ H3W@    ^ JLLz^^      dLMMME^  ^^   pDLQ@    HMMMMMMP9H@&&dH7MMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMLp  HEzd     &JPMMQN^     JMMMMPz     &p3EQW^  ^ 7MMMJW@^@NLMp  dMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMML3  QMEd    HzLLMMz_    ^PMMMMM7  ^3zQEzzJW   ^ PMPH^&NQMMDd^d NMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMz7 _LMLN___^^pQMLJQp  @7zMMMMMMN  dzPDLLMMH   ^3L9^_dLMMML__^^3LMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMP7^^PMLMLp^ NPMMMP9&  HPLLLLMPzp_ ^7PDMLMLd    EH^__DMMMMJ _WDMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMLDDLMMMMMMMMMMMM_ EMMML93 HWWpHDLLzNNWWJzQLPPP3H9LMLPDLDp    ^___JMMMMP&&PMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMM7^xxx @7QDQJzzDDQp  EDPPLDpx:x^ ^3MMPLMMMMMMMMzEDLDWp@@WQEp^  ___^EMMMML&^3LLMMMLLLLLMMMLLPPDDDDDMMMMMMMMMM
MMMMMMMMMMMLWx::xxxxxxxxxxxxx::xxxxxxxx:xxx&7^^zLLPNd7LMMMMLLLEd   79z9H   __^9MMMMML^^&&@d@@&&&__&&&_^^^^^^^^9MMMMMMMMM
MMMMMMMMMMM3::x:xxxxxxxxxxxxxxx:::xxxxxx::xx_ __&@@^^_^&PMMLJ@  ^ ^d@_ H  ^_^^zMMMMD@ HLLDEW3&^^^^^^   ^^^ ^_WLMMMMMMMMM
MMMMMMMMMML :xx:xxxxxxxx:::xx:\\::::x::xxx:xH ^7ME_^____&LLE73     @Npdz@^_^ _WPMMD&_ &d_  ^H&     ^   __^^HPMMMMMMMMMMM
MMMMMMMMMML ::xxxxxxxxxxxxxxxx::xx:xxxx:::x _^^9PzH ^_____7QN^^  &ELMLLQ^__^3zLMMQ&________^___^^_    ^_&WQMMMMMMMMMMMMM
MMMMMMMMMMMd::xxxxxxxxx::xxxx:xxx:xxxxxx::x^^____^^______ 77   &zLLMMP3_^^3PMMLME _^___^^^^^^_____^^^dWzLMMMMMMMMMMMMMMM
MMMMMMMMMMMLW ::xxxxxxxxx:xx:::xxxxxxxx:xxxE^____________ E^ 3WPMMMMP^ ^WLMMMMMP@^NLLLLLPLLLLDN&&p7zLMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMML93^ x&9E9QQDPDQQJW  _WWH :xx _ ^^^_________^^ N7PMLMMMM99LMMMLMPH__JMMMMMMMMMMMML&_QMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMPPMMMMMMMMMMMMMp^dMMML3:xxxx3  _________^ d&EMMMMMMMMMMMMMDN&^HDMMMMMMMMMMMMM7^_dMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLd zMMMMH _3EL&__________^ _ELLMMLMMMMMLEp@__@9MMMMMMMMMMMMMMMH__&MMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMML_^7MMMMMMMPH^___^______ @&DDMDzMMMLJ3&^^_7PMMMMMMMMMMMMMMMMMLJJPMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMDH EMMMMME&_____^  ____^DMMML9LLJ3^ ___&QMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLE&DMMME ______  ^^^^^WMMMM7JN@@^ __^pLMMMMMMMMMMMMMMMMMMMMQdWMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMz3DL9^_______  ^___^zMLD7   ^&^_^@EMMMMMMMMMMMMMMMMMMMMML__dMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMH 9W^______     ^_dPd&Hpd  W@^^7MMMMMMMMMMMMMMMMMMMMMML@_^pMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMD WH _____^ ^   ^^7MLQ3@^&7L&_^EMMMMMMMMMMMMMMMMMMMMMML&^^7MMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMME^  ^_____ _^___^NMMLJ9JPDp ^dLMMMMMMMMMMMMMMMMMMMMMMML99LMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW   __^dP7 ^^^^_^dMMMMMLDW_^__LMMMMMMMMMMMMMMMMMMMMMMMPWpMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMP_  __^HLz ^^&9^_^_LMMMMMN ^^^EMMMMMMMMMMMMMMMMMMMMMMMMp^3MMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMH^____3LM@^_^DD^__^9MMMMz3d _dMMMMMMMMMMMMMMMMMMMMMMMMM& &MMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMz^^^_^WMLL___&ML^__^WMMMMDQ_^^WMMMMMMMMMMMMMMMMMMMMMMMML^^^LMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM&^ ^^WMM9H@^_^Np^__ NMMMJNWp^ EMMMMMMMMMMMMMMMMMMMMMMMMLHdEMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMML^_ ^HMMMd     NW __ zMMMLLLL^ PMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW __&LMMLd   ^dP& __^LMMMMMMLd^LMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMH^_^QMMMz^  _^QL_^__&MMMMMMQLd3MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMH ^NMMMMW   _dME ^__@MMMMMLWL^JMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMH^^LMMMMH  ^@DMEEW^_&MMMMMMLN^LMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM3 3MMMMMN^^@LMMNPP^^&MMMMMMM&HMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMH^9MMMMM7zMMMMLzML&^dMMMMMML zMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMML_ PMMMMMWLMMMM99MM9 DMMMMMMW^MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMD&7MMMMMMMMMML7PMMMPMMMMMMMNzMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM

Offline

Board footer

Powered by FluxBB