Visit Our UNIX and Linux User Community


Rename file using sed or awk


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Rename file using sed or awk
# 1  
Old 06-07-2012
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

Last edited by zaxxon; 06-08-2012 at 07:19 PM.. Reason: No shouting!
# 2  
Old 06-07-2012
Hello, please edit your post above and change the all caps.

In case you forgot to read the forum rules, here is quick copy.

Quote:
RULES OF THE UNIX AND LINUX FORUMS


(1) No flames, shouting (all caps), sarcasm, bullying, profanity or arrogant posts.

(2) No negative comments about others or impolite remarks. Be patient.

(3) Refrain from idle chatter that does not contribute to the knowledge base. This does not apply to the forums in The Unix Lounge which are for off-topic discussions.

(4) Do not 'bump up' questions if they are not answered promptly. No duplicate or cross-posting and do not report a post or send a private message where your goal is to get an answer more quickly.

(5) Search the forums database with your keywords before asking.

(6) Do not post classroom or homework problems.

(7) No job postings from headhunters or recruiters except in The Unix Forums Job Board. See How to Post to The UNIX Forums Job Board for information on using the Job Board.

(8) No BSD vs. Linux vs. Windows or similar threads.

(9) Edit your posts if you see spelling or grammar errors (don't write in cyberchat or cyberpunk style). English only.

(10) Don't post your email address and ask for an email reply. Don't send a private message with a technical question. The forums are for the benefit of all, so all Q&A should take place in the forums.

(11) Post questions with descriptive subjects. For example, do not post questions with subjects like "Help Me!", "Urgent!!" or "Doubt". Post subjects like "Execution Problems with Cron" or "Help with Backup Shell Script".

(12) These are not hacker boards so hacker related posts will be promptly deleted or moderated.

(13) The forum administrators reserve the right to prune, move or edit posts that do not adhere to the rules or are technically inaccurate.

(14) The forum administrators reserve the right to remove users or change their posting status to read only without notice if any rules are not followed.

(15) No smoking in the forums.
Cheers.

The UNIX and Linux Forums
# 3  
Old 06-07-2012
Code:
FILE="1_120606259532_3_4.5_888"
NEW_FILE=$(echo "$FILE" | nawk -F_ -v n="120606259899" -v OFS=_ '$2=n')
echo $NEW_FILE

This User Gave Thanks to itkamaraj For This Post:
# 4  
Old 06-07-2012
last segment

thanks a lot.. but the output i'm getting is
Code:
echo $NEW_FILE
1_120606259899_3_4.5_888

the last segment is 888, which is not removed.

Last edited by zaxxon; 06-08-2012 at 07:20 PM.. Reason: code tags!
# 5  
Old 06-07-2012
Code:
 
NEW_FILE=$(echo "$FILE" | nawk -F_ -v n="120606259899" -v OFS=_ '$2=n;$NF="_"' | sed 's/__$//')

This User Gave Thanks to itkamaraj For This Post:
# 6  
Old 06-07-2012
thanks

thanks a lot,

but m getting 2 outputs,

Code:
$echo $NEW_FILE
1_120606259899_3_4.5_888 1_120606259899_3_4.5

---------- Post updated at 03:46 AM ---------- Previous update was at 03:35 AM ----------

suppose ther are 100 files. i need to remove the 888 segments for all the 100 at the end, and the date field is constant it always contains 12 digits,and i need 2 remove the last 4 digits in it, and replace it with "9899".
Is this possible with script??

Last edited by zaxxon; 06-08-2012 at 07:20 PM.. Reason: code tags!
# 7  
Old 06-07-2012
use this

Code:
 
NEW_FILE=$(echo "$FILE" | nawk -F_ -v n="120606259899" -v OFS=_ '{$2=n;$NF="_";print}' | sed 's/__$//')

This User Gave Thanks to itkamaraj For This Post:

Previous Thread | Next Thread
Test Your Knowledge in Computers #624
Difficulty: Medium
The continue statement is used in Python to skip the rest of the statements in the current loop block and to continue to the next iteration of the loop.
True or False?

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

sed replace to rename each line a file

Have a file in this format This is line one ; line_one This is line two ; line_two This is line three ; line_three This is line four ; line four. I'm trying to make each line a new file called line_one line_two line_three line_four. Tried using split -1 but then I'm back needing to rename... (3 Replies)
Discussion started by: jimmyf
3 Replies

2. Shell Programming and Scripting

awk : split file and rename and save in path according to content

Hello, I'm using Windows 7 ; sed, awk and gnuwin32 are installed. I have a big text file I need to manipulate. In short, I will have to split it in thousands of short files, then rename and save in a folder which name is based upon filename. Here is a snippet of my big input.txt file (this... (4 Replies)
Discussion started by: sellig
4 Replies

3. UNIX for Dummies Questions & Answers

awk - Rename output file, after processing, same as input file

I have one input file ABC.txt and one output DEF.txt. After the ABC is processed and created output, I want to rename ABC.txt to ABC.orig and DEF to ABC.txt. Currently when I am doing this, it does not process the input file as it cannot read and write to the same file. How can I achieve this? ... (12 Replies)
Discussion started by: High-T
12 Replies

4. UNIX for Dummies Questions & Answers

Rename scripts using xargs/sed

Morning all I've got loads of scripts but the names are too long! I've stuck the list in a flat file (names) and I'm trying to read that in line by line and create the new names (in to directory new) from the list. It looks like this: xargs -n1 -I{} <names cat {} | sed... (1 Reply)
Discussion started by: Grueben
1 Replies

5. Shell Programming and Scripting

sed file rename

Ubuntu -very new to shell scripts/Linux I have many pictures with "FAMILY", "family" mixed in the file name and not all in the same directory; I want to remove "family" case insensitive from the filenames; find /media/Rock/pics/pics_bak/ -type f "*family*" | sed 's#family##gI' # works for... (2 Replies)
Discussion started by: jennyjones
2 Replies

6. Shell Programming and Scripting

sed to rename files in a folder - please help with script

Hello, I am new to shell scripting and stuck on renaming files in a folder. The files have the format chp01_00001.wav chp01_00002.wav .... chp02_00001.wav chp02_00002.wav .... but I want them to have the following names: chp_bloomy_00001.wav chp_bloomy_00002.wav chp_bloomy_00003.wav... (8 Replies)
Discussion started by: Bloomy
8 Replies

7. Shell Programming and Scripting

try to batch rename using sed (if this is best)

hi gooday I need some help with a rename I am attempting. I'd like to rename a bunch of files in a folder example list.dat.old to list_N.dat query.dat.old to query_N.dat note the two periods in (.dat.old) to become _N.dat I tried using sed like this ls *.dat.old | sed... (3 Replies)
Discussion started by: johnstrong
3 Replies

8. UNIX for Dummies Questions & Answers

Sed or Awk usage to rename string

I have gotten myself totally lost trying to sort this out and just need some help please.. I will have a multiple directories using the following naming convention with an undetermined number of files in each directory. 9780743582094_05of5_Accountable.wav I need to batch rename all files... (5 Replies)
Discussion started by: glev2005
5 Replies

9. Shell Programming and Scripting

Rename file using sed command

Greetings, I am very new to the UNIX shell scripting and would like to learn. However, I am currently stuck on how to process the below sample : Filename : DOCabcdef24387987ab90d.xml Pattern "DOC"+any character using and +".xml" And i want to change the second part of that file (any... (20 Replies)
Discussion started by: fanny_tirtasari
20 Replies

10. Shell Programming and Scripting

Using sed (or similar) to rename variable headings

Hello, I'm rather new to the world of regular expressions and sed, though am excited by its possibilities. I have a particular task I'd like to achieve, and have googled the topic quite a bit. However, having found some codes that perform a task very similar to what I'd like to do, I can't for... (2 Replies)
Discussion started by: redseventyseven
2 Replies

Featured Tech Videos