Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Sed or Awk usage to rename string Post 302461556 by Scrutinizer on Monday 11th of October 2010 03:39:39 PM
Old 10-11-2010
Hi it is faster than awk or sed since no external programs need to be called from the shell to do the parsing..

for i in *_*_*.wavfor every file in the directory with this pattern
t=${i#*_}remove the part before the first _ and put the remainder in variable t
mv "$i" "${i%.*}-${t%%of*}.${i##*.}"mv file "$i" to the part of $i upto the extension (the last dot), followed by a "-" and variable $t with the part "of" and further cut off (which leaves the sequence number), then a dot (.) and then the extension of variable $i (everything before the last dot cut off)
I hope this helps. It can look a bit cryptic at first, but it really isn't that complicated..

Since $i will always contain files ending in .wav, this is equivalent in this case:
Code:
for i in *_*_*.wav
do
  t=${i#*_}
  mv "$i" "${i%.wav}-${t%%of*}.wav"
done


Last edited by Scrutinizer; 10-18-2010 at 11:04 AM..
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

sed/awk String problem

I would appreciate it if any one can guide me in using awk perhaps sed in extracting some values from a long string. here is an example. .......some lines here........ ........ aaaa bbbb cccc ddddd eeeee fffff gggg (time:hhhh)........ ......some lines here also.......... How can I extract... (2 Replies)
Discussion started by: odogbolu98
2 Replies

2. Shell Programming and Scripting

awk/sed - getting string instead of number

Hi! I am writing a script handling downloading list of files and I have to check whether file is present locally and if not finished than continue downloading. To do so I have to compare sizes of remote file and local file. To check remote file size I have to parse something like this: ... (2 Replies)
Discussion started by: hrwath
2 Replies

3. Shell Programming and Scripting

usage...sed/awk/reg-exp ..in shell scripting

in shell scripting there is extensive usage of i> regular expression ii>sed iii>awk can anyone tell me the suitable contexts ...i mean which one is suitable for what kind of operation. like the reg-exp and sed seems to be doing the same job..i.e pattern matching (1 Reply)
Discussion started by: mobydick
1 Replies

4. Homework & Coursework Questions

String editing using sed? awk?

1. The problem statement, all variables and given/known data: Problem Statement for project: When an account is created on the CS Unix network, a public html directory is created in the account's home directory. A default web page is put into that directory. Some users replace or... (13 Replies)
Discussion started by: peage1475
13 Replies

5. Shell Programming and Scripting

match string exactly with awk/sed

Hi all, I have a list that I would like to parse with awk/sed. The list is contains entries such as: JournalTitle: Biochemistry JournalTitle: Biochemistry and cell biology = Biochimie et biologie cellulaire JournalTitle: Biochemistry and experimental biology JournalTitle: Biochemistry and... (6 Replies)
Discussion started by: euval
6 Replies

6. Shell Programming and Scripting

Rename file using sed or awk

I have a filename like 1_DATE_3_4.5_888 and I want to modify the date field (ie the last 4 digits ) alone and remove the last field. Old filename:1_DATE_3_4.5_888 Given date (for eg):120606259532 modified date:120606259899 new filename:1_<modified date>_3.4.5 (14 Replies)
Discussion started by: sandy88
14 Replies

7. Shell Programming and Scripting

sed or awk command to replace a string pattern with another string based on position of this string

here is what i want to achieve... consider a file contains below contents. the file size is large about 60mb cat dump.sql INSERT INTO `table1` (`id`, `action`, `date`, `descrip`, `lastModified`) VALUES (1,'Change','2011-05-05 00:00:00','Account Updated','2012-02-10... (10 Replies)
Discussion started by: vivek d r
10 Replies

8. Shell Programming and Scripting

sed awk to remove the , in a string

Dear All, Can anyone help to remove the , bewteen "" in a string by using sed or awk? e.g. input : 1,4,5,"abcdef","we,are,here",4,"help hep" output:1,4,5,"abcdef","wearehere",4,"help hep" Thanks, Mimi (5 Replies)
Discussion started by: mimilaw
5 Replies

9. Shell Programming and Scripting

Replace string in XML file with awk/sed with string from another

Sorry for the long/weird title but I'm stuck on a problem I have. I have this XML file: </member> <member> <name>TransactionID</name> <value><string>123456789123456</string></value> </member> <member> <name>Number</name> ... (9 Replies)
Discussion started by: cozzin
9 Replies

10. Shell Programming and Scripting

Replace string of a file with a string of another file for matches using grep,sed,awk

I have a file comp.pkglist which mention package version and release . In 'version change' and 'release change' line there are two versions 'old' and 'new' Version Change: --> Release Change: --> cat comp.pkglist Package list: nss-util-devel-3.28.4-1.el6_9.x86_64 Version Change: 3.28.4 -->... (1 Reply)
Discussion started by: Paras Pandey
1 Replies
lltag_config(5) 						File Formats Manual						   lltag_config(5)

NAME
config - Configuration file for lltag DESCRIPTION
The following options may be stored in /etc/lltag/config or the user's $HOME/.lltag/config, or in any file passed with --config. Such a configuration file may also be generated with --gencfg. Obtaining tags format = "string" Add a user-defined format [-R]. Might be used multiple times. Default is to guess if no user-defined formats and no default field values are given. guess = <0/1> Try to guess if user-defined formats do not match [-G]. Default is 0 (disabled) when no user-defined formats and no explicit values are given. tag = <TAG=value> Add an explicit tag [--tag]. Might be used multiple times. Tweaking filename parsing no_path = <0/1> Do not use file path when matching filename [-p]. Default is 0 (disabled). spaces = <0/1> Allow no or multiple spaces [--spaces]. Default is 0 (disabled). Cleaning obtained tags edit = <0/1> Edit tags immediately [--edit]. Default is 0 (disabled). maj = <0/1> Upcase first letters of words in tags [--maj]. Default is 0 (disabled). regexp = "s/from/to/" Replace from with to in all tags. title,number:s/from/to/ replaces in title and number tags only. Might be used multiple times [--regexp]. Default is to not apply any regexp. sep = "string" Replace |-separated strings with space in tags. Default is to not replace any separator. Configuration of tag application type = <mp3|ogg|flac|none> Force mp3, ogg of flac instead of by-extension detection [--mp3, --ogg and --flac]. Default is none. clear_tags = <0/1> Clear all tags of audio files. [--clear]. Default is 0 (disabled). append_tags = <0/1> Append tags only instead of replacing old ones. [--append]. Default is 0 (disabled). no_tagging = <0/1> Do not actually tag files [--no-tagging]. Default is 0 (disabled). preserve_time = <0/1> Preserve file modification time during tagging [--preserve-time]. Default is 0 (disabled). Renaming rename_format = "string" Rename file according to format [--rename]. Default is to not rename. rename_min = <0/1> Lowcase tags before renaming [--rename-min]. Default is 0 (disabled). rename_regexp = "s/from/to/" Replace from with to in all tags before renaming. title,number:s/from/to/ replaces in title and number tags only. Might be used multiple times [--rename-regexp]. Default is to not apply any regexp. rename_sep = "string" Replace spaces with a string in tags before renaming [--rename-sep]. Default is to not replace any separator. rename_slash = "string" Replace slashes with a string in tags before renaming [--rename-slash]. Default is to replace with a dash. rename_ext = <0/1> Assume the rename format provides an extension [--rename-ext]. Default is 0 (disabled). Miscellaneous dry_run = <0/1> Do nothing but show what would have been done [--dry-run]. Default is 0 (disabled). yes = <0/1> Tag without asking for confirmation when guessing and rename without asking for confirmation [--yes]. Default is 0 (disabled). ask = <0/1> Always ask for confirmation before tagging [--ask]. Default is 0 (disabled). recursive = <0/1> Recursively traverse all given subdirectories [-R]. Default is 0 (disabled). verbose = <integer> Message verbosity level [-v and -q]. Default is 0 (only important messages). Other possible values are 1 (show usage information when a menu is displayed for the first time) and 2 (always show usage information before a menu appears). CDDB configuration cddb_server_name = hostname Change the CDDB server name. Default is www.freedb.org. cddb_server_port = <port> Change the CDDB server port. Default is 80 (HTTP). SEE ALSO
lltag(1) The config template file provided within the documentation directory. AUTHOR
Brice Goglin NOVEMBER 2006 lltag_config(5)
All times are GMT -4. The time now is 12:52 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy