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
Test Your Knowledge in Computers #395
Difficulty: Medium
HP produced an RMB implementation for Microsoft Windows called HP Instrument BASIC for Windows.
True or False?

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