Visit Our UNIX and Linux User Community


Text manipulation with sed/awk in a bash script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Text manipulation with sed/awk in a bash script
# 1  
Old 01-21-2016
Text manipulation with sed/awk in a bash script

Guys, I have a variable in a script that I want to transform to into something else Im hoping you guys can help. It doesn't have to use sed/awk but I figured these would be the simplest.

DATE=20160120

I'd like to transform $DATE into "01-20-16" and move it into a new variable called $SIMPLEDATE


the format is always the same, notice I need to transform 2016 in just 16 and move it around.

thanks
# 2  
Old 01-21-2016
Any attempts/ideas/thoughts from your side?
# 3  
Old 01-21-2016
Easy
Code:
DATE=20160120; echo $DATE | sed 's/[0-9]/& /g' | tr 0-9 a-k | 
awk '{print $5, $6, $7, $8, $3, $4}' | sed 's/ //g' |
sed 's/./&-/2; s/./&-/5' | tr a-k 0-9

# 4  
Old 01-21-2016
Anyhow, try
Code:
date -d$DATE +%d-%m-%y
20-01-16
echo ${DATE:6:2}-${DATE:4:2}-${DATE:2:2}
20-01-16

# 5  
Old 01-21-2016
Quote:
Originally Posted by RudiC
Anyhow, try
Code:
date -d$DATE +%d-%m-%y
20-01-16
echo ${DATE:6:2}-${DATE:4:2}-${DATE:2:2}
20-01-16

What about AIX, HP, Solaris - they do not have -d option for date.

No. My version is the right. Smilie
# 6  
Old 01-21-2016
Code:
DATE=20160120
SIMPLEDATE=`echo "$DATE" | sed 's/..\(..\)\(..\)\(..\)/\2-\3-\1/'`
echo "$SIMPLEDATE"
01-20-16

This User Gave Thanks to MadeInGermany For This Post:
# 7  
Old 01-21-2016
Quote:
Originally Posted by MadeInGermany
Code:
DATE=20160120
SIMPLEDATE=`echo "$DATE" | sed 's/..\(..\)\(..\)\(..\)/\2-\3-\1/'`
echo "$SIMPLEDATE"
01-20-16

This is perfect man, thank you...
Can you explain exactly whats going on here? I read some info on sed but to be honest Im not following. I'd love to learn so I can do this myself next time.

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Text manipulation with sed - Advanced technic

Hello everybody, I have the following input file: START ANALYSIS 1 DATA LINE DATA LINE DATA LINE DATA LINE Libray /home/me/myLibrary Source library_name_AAAAA DATA LINE DATA LINE DATA LINE BEGIN SOURCE ANALYSIS Function A Function B Function C Function D (4 Replies)
Discussion started by: namnetes
4 Replies

2. Shell Programming and Scripting

Rsync script to rewrite suffix - BASH, awk, sed, perl?

trying to write up a script to put the suffix back. heres what I have but can't get it to do anything :( would like it to be name.date.suffix rsync -zrlpoDtub --suffix=".`date +%Y%m%d%k%M%S`.~" --bwlimit=1024 /mymounts/test1/ /mymounts/test2/ while IFS=. read -r -u 9 -d '' name... (1 Reply)
Discussion started by: jmituzas
1 Replies

3. Shell Programming and Scripting

'Couldn't read file' error in bash script with expect, sed and awk!

Ok, so I have a bash script with an embedded expect statement. Inside of the expect statement, i'm trying to pull all of the non-comment lines from the /etc/oratab file one at a time. Here's my command: cat /etc/oratab |sed /^s*#/d\ | awk 'NR==1'|awk -F: '{print \"$1\"}'|. oraenv Now,... (0 Replies)
Discussion started by: alexdglover
0 Replies

4. Shell Programming and Scripting

Difficult problem: Complex text file manipulation in bash script.

I don't know if this is a big issue or not, but I'm having difficulties. I apoligize for the upcoming essay :o. I'm writing a script, similar to a paint program that edits images, but in the form of ANSI block characters. The program so far is working. I managed to save the image into a file,... (14 Replies)
Discussion started by: tinman47
14 Replies

5. Shell Programming and Scripting

XML- Sed || Awk Bash script... Help!

Hi ! I'm working into my first bash script to make some xml modification and it's going to make me crazy lol .. so I decide to try into this forum to take some ideas from people that really know about this! This is my situation I've and xml file with a lots of positional values with another tags... (9 Replies)
Discussion started by: juampal
9 Replies

6. Shell Programming and Scripting

AWK manipulation in bash script

EDIT: This has been SOLVED. Thanks! Greetings everyone, I've posted a few threads with some quick help questions, and this is another one of those. I can't post enough gratitude for those much more knowledgeable than myself who are willing to give good advice for my minor issues. Now,... (2 Replies)
Discussion started by: Eblue562
2 Replies

7. Shell Programming and Scripting

SED/AWK file read & manipulation

I have large number of data files, close to 300 files, lets say all files are same kind and have extension .dat , each file have mulitple lines in it. There is a unique line in each file containing string 'SERVER'. Right after this line there is another line which contain a string 'DIGIT=0',... (4 Replies)
Discussion started by: sal_tx
4 Replies

8. UNIX for Advanced & Expert Users

bash/grep/awk/sed: How to extract every appearance of text between two specific strings

I have a text wich looks like this: clid=2 cid=6 client_database_id=35 client_nickname=Peter client_type=0|clid=3 cid=22 client_database_id=57 client_nickname=Paul client_type=0|clid=5 cid=22 client_database_id=7 client_nickname=Mary client_type=0|clid=6 cid=22 client_database_id=6... (3 Replies)
Discussion started by: Pioneer1976
3 Replies

9. Shell Programming and Scripting

File manipulation with AWK and SED

Hello How do i check that correct input files are used while using AWk and SED for file manipulation? e.g awk '/bin/ {print $0 }' shell.txt sed 's/hp/samsung/' printers.txt how do i ensure that the correct input files I am working with are used? (5 Replies)
Discussion started by: Pauline mugisha
5 Replies

10. Shell Programming and Scripting

sed usage with special characters - text manipulation

I'm trying to use sed to replace string in text file but I've some problems with slash and new-line for example I have to replace this string: \> signal_rssi=" or this string where new-line is in the middle of the string: " /> I'm using this code for the first case but it doesn't... (10 Replies)
Discussion started by: TheMrOrange
10 Replies

Featured Tech Videos