Shortening a awk command


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Shortening a awk command
# 1  
Old 04-01-2013
Shortening a awk command

The purpose of the below is to grab the 9th field of the data in "$epochtimeframe". and then translate that data (which is an epoch time), into a human readable form.

Code:
echo $epochtimeframe | awk -F"--" '{print $9}' | awk -F"," '{print $2}' | perl -pe 's/(\d+)/localtime($1)/e'

i'm sure many will agree the above is not efficient. i'm calling awk too many times and i doubt "perl" is necessary here.

any ideas on how to shorten this command or make awk do everything?
# 2  
Old 04-01-2013
Pardon my ignorance... Can you show us what value you have in your variable: epochtimeframe?
# 3  
Old 04-01-2013
In case not everyone knows what an "epoch time" is, or what kind of "human readable" you want, could you please post an example of a few inputs you want to transform, and what you want the output to look like? Thanks.
# 4  
Old 04-01-2013
Come on SkySmart; after making more than 450 posts in these forums surely you know by now that we need to know what $epochtimeframe expands to for us to be able to provide any decent help here. Can we please have some samples showing inputs and and the corresponding outputs you want to be produced?

And, what shell and operating system are you using?
# 5  
Old 04-01-2013
Sorry guys. content of epochtimeframe is:

Code:
cpl--lim--fl--pass--own--ast--rehi--asto--1364821336,1364821697--jui--welp--legitimate

# 6  
Old 04-01-2013
Code:
awk -v E="$epochtimeframe" 'BEGIN{gsub(/.*,|--.*/,x,E); print strftime("%c",E)}'

This User Gave Thanks to Yoda For This Post:
# 7  
Old 04-01-2013
Quote:
Originally Posted by Yoda
Code:
awk -v E="$epochtimeframe" 'BEGIN{gsub(/.*,|--.*/,x,E); print strftime("%c",E)}'

will this always work even if the field in which the epoch time is, changes? in the sample i provided, it was in the 9th field/column. other times, it may be in another field.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Pass awk field to a command line executed within awk

Hi, I am trying to pass awk field to a command line executed within awk (need to convert a timestamp into formatted date). All my attempts failed this far. Here's an example. It works fine with timestamp hard-codded into the command echo "1381653229 something" |awk 'BEGIN{cmd="date -d... (4 Replies)
Discussion started by: tuxer
4 Replies

2. Shell Programming and Scripting

Multiple command execution inside awk command during xml parsing

below is the output xml string from some other command and i will be parsing it using awk cat /tmp/alerts.xml <Alert id="10102" name="APP-DS-ds_ha-140018-componentFailure-S" alertDefinitionId="13982" resourceId="11427" ctime="1359453507621" fixed="false" reason="If Event/Log Level(ANY) and... (2 Replies)
Discussion started by: vivek d r
2 Replies

3. Shell Programming and Scripting

file name shortening for multiple directories

there was a post previously about this from around 2010 but i was unable to get the suggested scripts there to work. the following code works for me when it's saved inside the directory of files whose names i want to shorten, but i would like to be able to store it in a file with a list of ... (4 Replies)
Discussion started by: giseismology
4 Replies

4. Shell Programming and Scripting

awk command to compare a file with set of files in a directory using 'awk'

Hi, I have a situation to compare one file, say file1.txt with a set of files in directory.The directory contains more than 100 files. To be more precise, the requirement is to compare the first field of file1.txt with the first field in all the files in the directory.The files in the... (10 Replies)
Discussion started by: anandek
10 Replies

5. Shell Programming and Scripting

awk command in script gives error while same awk command at prompt runs fine: Why?

Hello all, Here is what my bash script does: sums number columns, saves the tot in new column, outputs if tot >= threshold val: > cat getnon0file.sh #!/bin/bash this="getnon0file.sh" USAGE=$this" InFile="xyz.38" Min="0.05" # awk '{sum=0; for(n=2; n<=NF; n++){sum+=$n};... (4 Replies)
Discussion started by: catalys
4 Replies

6. Shell Programming and Scripting

Directory path shortening ????

As it was a new topic i started a new thread. There are different Directories under "$HOME/rsh/Desktop/at/bin/bellhop/ and $HOME/rsh/Desktop/at/examples/" i want to perform some operation like cp or mv Is it possible to do R=$HOME/rsh/Desktop/at/bin/bellhop/... (1 Reply)
Discussion started by: shashi792
1 Replies

7. Shell Programming and Scripting

awk command for simple join command but based on 2 columns

input1 a_a a/a 10 100 a1 a_a 20 200 b1 b_b 30 300 input2 a_a a/a xxx yyy a1 a1 lll ppp b1 b_b kkk ooo output a_a a/a 10 100 xxx yyy (2 Replies)
Discussion started by: ruby_sgp
2 Replies

8. Shell Programming and Scripting

awk/sed Command : Parse parameter file / send the lines to the ksh export command

Sorry for the duplicate thread this one is similar to the one in https://www.unix.com/shell-programming-scripting/88132-awk-sed-script-read-values-parameter-files.html#post302255121 Since there were no responses on the parent thread since it got resolved partially i thought to open the new... (4 Replies)
Discussion started by: rajan_san
4 Replies

9. Shell Programming and Scripting

assign a command line argument and a unix command to awk variables

Hi , I have a piece of code ...wherein I need to assign the following ... 1) A command line argument to a variable e.g origCount=ARGV 2) A unix command to a variable e.g result=`wc -l testFile.txt` in my awk shell script When I do this : print "origCount" origCount --> I get the... (0 Replies)
Discussion started by: sweta_doshi
0 Replies

10. Shell Programming and Scripting

Shortening Numbers

Hi, I'm using ksh and I'm trying to shorten a column of figures. For example, I'd like to turn: 3456789.9876 to 89.98 567.4956 to 67.49 4669493932.34564 to 32.34 ... so the input figure will vary in length, I'm not worried about rounding, I just want the two... (6 Replies)
Discussion started by: Jonny2Vests
6 Replies
Login or Register to Ask a Question