Help with extract using awk


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Help with extract using awk
# 15  
Old 05-19-2010
Because he needs the size field as well Smilie
Else he could simply run ls *.edf
# 16  
Old 05-19-2010
Quote:
Originally Posted by pseudocoder
Because he needs the size field as well Smilie
Else he could simply run ls *.edf
... that and:
Code:
-rw-rw-rw-   1 user group      407 Oct 14  2009 foo   bar
-rw-rw-rw-   1 user group      407 Oct 14  2009 foo:ba .txt

This User Gave Thanks to vgersh99 For This Post:
# 17  
Old 05-20-2010
Thanks Vgersh. Your solution worked fine. Many thanks to all who gave wonderful responses. But I needed file size and name and hence vgresh solution worked for me.

---------- Post updated at 02:32 PM ---------- Previous update was at 02:28 PM ----------

vgersh,

Can you please explain the script?
# 18  
Old 05-24-2010
Quote:
#!/bin/ksh

ls -l *\.edf| while read -r a a a a s a a a n
do
echo "[$s] [$n]"
done
On behalf of vgersh99. The "while read -r" statement reads each matching line from the "ls -l *\.edf" statement in turn. It places the results into environment variables called $a, $s, $n . $a is a variable to use unwanted fields, $s is the file size, $n is the file name. The clever bit of the script is that $n contains the whole filename whether or not it contains spaces or special characters. This is because the last field in a "read" statement is filled with any remaining characters from the input line. See "man read".
The square brackets in the output echo are not special syntax, they just help to show where each field starts and stops when testing the script.

Note the backslash in "ls -l *\.edf". This is good practice because unix is not MSDOS and a fullstop in a filename is just another character but it can have special meaning in a regular expression (which this isn't).
# 19  
Old 05-24-2010
if you have du

du -s *.edf
# 20  
Old 05-25-2010
@trey85stang
The file sizes output from "du -s" are quite different from "ls -la", but they are the same as those from "ls -las".
The file sizes from "du -s" and "ls -las" are in units of disc blocks and reflect the actual space taken by the files. A disc block is usually 512 bytes ... but it depends on the system.
The output from "ls -l" is how much data there is in each file up to the EOF marker. The EOF marker may be part-way through a disc block.

On one of my systems a single byte text file takes 8,192 bytes of disc space.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Extract lines in awk

Hi, I have one file of the following format: TBCD, 1521, 14585236, NSDFC XSDF, 1845, 14525426, SDFFF SDFC, 4524, 14523655, SDNCV ASBC, 1845, 48754251, SDFFC ASBC, 1845, 54542512, SDFFF ASBC, 1845, 34212512, NSDFC ASBC, 1845, 16890234, ASFCH MNDG, 1896, 15842642, SFTDD SDFC, 8524,... (4 Replies)
Discussion started by: alex2005
4 Replies

2. Shell Programming and Scripting

extract column with awk

This is a example TXT file: ID CDR1 CDR2 CDR3 1 CDR1 CDR3 2 CDR1 CDR2 CDR3 3 CDR3 What I want to do is extract the fourth column with awk, however, there are some blank space in some field. I get wrong result when it print out awk result. awk '{print $1,$4}'... (8 Replies)
Discussion started by: xshang
8 Replies

3. Shell Programming and Scripting

extract data with awk

i have a following output file PF Release 2.4 on SERVICE at Mon Feb 6 18:41:02 2012 ---------------------------------------- ---------------- |pPF |SEP |CAPS |CALLS |OPEN | |-------------------------------------------------------------| | 0 ---... (1 Reply)
Discussion started by: gauravah
1 Replies

4. Shell Programming and Scripting

extract texts using awk

Hello, I have two files: File1: a b c d File2: b c e I need 'e' as output.... Thanks.. ---------- Post updated at 12:16 PM ---------- Previous update was at 12:15 PM ---------- (1 Reply)
Discussion started by: shekhar2010us
1 Replies

5. UNIX for Dummies Questions & Answers

Help Using awk to Extract Data

Hi. Im new to UNIX also in programming language which in need help to output like what was I indicated using either awk shell programming or combination of some commands. Correct me if im in the wrong section. Thanks in advance. Input 101 The quick brown fox jumps over the lazy dog 99... (9 Replies)
Discussion started by: bankai29
9 Replies

6. Shell Programming and Scripting

Extract Data - awk

I need to extract columns but the way it should be stored in a file is different.I can simply do a cut -f3,2 filename but the problem is even if i do it so and the values in column 2 are string then col 2 would be appear before col3 I tried awk but using the substr i think its not possible to... (8 Replies)
Discussion started by: dinjo_jo
8 Replies

7. UNIX for Dummies Questions & Answers

how extract certain value within a line using awk

hi if would like to get the phone number as an output, can you guide me here please <A>213444555</A><B><B>ABCDEFG</B> I just want to get the phone number from the file in between <A> and </A> Thanks (9 Replies)
Discussion started by: imran721
9 Replies

8. Shell Programming and Scripting

Using awk to extract text

I am currently on a project where I must extract all the data between two words. I am currently running a perl script and trying to use awk to extract specific lines of text between two words: ./myscript.pl | awk ' " An example of the output of the script: =================== WORKING LOG... (5 Replies)
Discussion started by: Davizzle
5 Replies

9. Shell Programming and Scripting

How to extract elements using Awk

Hi, I have this typical extraction problem in AWK. I have 3 input files.. i) First one is somehow like an oracle of:- foo 12,23,24 bla 11,34 car 35 ii)Second file is basically detailing the score for each of the second field of first file. Besides, for the first column, it is the... (3 Replies)
Discussion started by: ahjiefreak
3 Replies

10. Shell Programming and Scripting

AWK to extract information

Hi all, I am working on a shell script to extract information from a file that has output from Oracle sqlplus. The problem is that the output of a single line is spread across multiple lines and i do not know as how to extract the particular filed at ones,which spans multiple lines.... (2 Replies)
Discussion started by: harris2107
2 Replies
Login or Register to Ask a Question