Extract lines from a file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Extract lines from a file
# 1  
Old 03-14-2016
Extract lines from a file

Hi all;

Here is my file which contains a list of files (recent versions of files are in red). This file is dynamic, files versions can change at any time (versions can increment)

Code:
 filename
  -------------------------------------------------------
  /tmp/g-72.n.gggg1000.fr-worker1.V.3.tar.bz2
  /tmp/g-9.n.gggg1000.fr-worker1.V.2.tar.bz2
  /tmp/g-85.n.gggg1000.fr-worker1.V.3.tar.bz2
  /tmp/g-72.n.gggg1000.fr-worker1.V.2.tar.bz2
  /tmp/g-92.n.gggg1000.fr-worker1.V.4.tar.bz2
  /tmp/g-85.n.gggg1000.fr-worker1.V.2.tar.bz2
  /tmp/g-72.n.gggg1000.fr-worker1.V.1.tar.bz2
  /tmp/g-72.n.gggg1000.fr-worker1.V.4.tar.bz2
  /tmp/g-92.n.gggg1000.fr-worker1.V.2.tar.bz2
  /tmp/g-9.n.gggg1000.fr-worker1.V.3.tar.bz2
  /tmp/g-92.n.gggg1000.fr-worker1.V.1.tar.bz2
  /tmp/g-9.n.gggg1000.fr-worker1.V.1.tar.bz2
  /tmp/g-85.n.gggg1000.fr-worker1.V.1.tar.bz2
  /tmp/g-92.n.gggg1000.fr-worker1.V.3.tar.bz2
  /tmp/g-85.n.gggg1000.fr-worker1.V.4.tar.bz2

Please, can you help me to write a shell script that extract all old versions (i.e: lines in black) ?

Thank you so much for help.
Kind regards.
# 2  
Old 03-14-2016
Code:
{ read A; read B; printf "%s\n" $A $B; sort -r; } < file | awk -F\. '!T[$1,$2,$3]++'
filename
-------------------------------------------------------
  /tmp/g-9.n.gggg1000.fr-worker1.V.3.tar.bz2
  /tmp/g-92.n.gggg1000.fr-worker1.V.4.tar.bz2
  /tmp/g-85.n.gggg1000.fr-worker1.V.4.tar.bz2
  /tmp/g-72.n.gggg1000.fr-worker1.V.4.tar.bz2

This User Gave Thanks to RudiC For This Post:
# 3  
Old 03-14-2016
Thank you so much for answer.
Please, i have to extract old versions (lines in blacks) not recent ones (lines in red).

Thanks a lot.
Kind regards.
# 4  
Old 03-14-2016
Then, invert the logics!
This User Gave Thanks to RudiC For This Post:
# 5  
Old 03-14-2016
Ok. I have used 'sort' instead of 'sort -r'
Code:
{ read A; read B; printf "%s\n" $A $B; sort; } < file | awk -F\. '!T[$1,$2,$3]++'

I have only !
Code:
filename
-------------------------------------------------------
/tmp/g-72.n.gggg1000.fr-worker1.V.1.tar.bz2
/tmp/g-85.n.gggg1000.fr-worker1.V.1.tar.bz2
/tmp/g-92.n.gggg1000.fr-worker1.V.1.tar.bz2
/tmp/g-9.n.gggg1000.fr-worker1.V.1.tar.bz2

Any help please ?
Bests.
# 6  
Old 03-14-2016
In post#2, remove the exclamation mark in front of the T array.
This User Gave Thanks to RudiC For This Post:
# 7  
Old 03-14-2016
I have this output:
Code:
/tmp/g-9.n.gggg1000.fr-worker1.V.2.tar.bz2
/tmp/g-9.n.gggg1000.fr-worker1.V.1.tar.bz2
/tmp/g-92.n.gggg1000.fr-worker1.V.3.tar.bz2
/tmp/g-92.n.gggg1000.fr-worker1.V.2.tar.bz2
/tmp/g-92.n.gggg1000.fr-worker1.V.1.tar.bz2
/tmp/g-85.n.gggg1000.fr-worker1.V.3.tar.bz2
/tmp/g-85.n.gggg1000.fr-worker1.V.2.tar.bz2
/tmp/g-85.n.gggg1000.fr-worker1.V.1.tar.bz2
/tmp/g-72.n.gggg1000.fr-worker1.V.3.tar.bz2
/tmp/g-72.n.gggg1000.fr-worker1.V.2.tar.bz2
/tmp/g-72.n.gggg1000.fr-worker1.V.1.tar.bz2

That's what i need. Thank you so much for help. Kind regards.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Extract lines that have entries in VI file

Dears experts i have UNIX file that contain 4 million lines , i need to extract all lines that have entiries saved in VI file , i have below comand but it takes tooooo long time : for i in `cat file1.csv`; do cat dump | grep -i $i >> file2.csv; done where : file1.csv = VI file that... (12 Replies)
Discussion started by: is2_egypt
12 Replies

2. Shell Programming and Scripting

Want to extract certain lines from big file

Hi All, I am trying to get some lines from a file i did it with while-do-loop. since the files are huge it is taking much time. now i want to make it faster. The requirement is the file will be having 1 million lines. The format is like below. ##transaction, , , ,blah, blah... (38 Replies)
Discussion started by: mad man
38 Replies

3. Shell Programming and Scripting

How to extract certain lines from a file?

Hi guys I have a several thousands line file in the following format: n817 -------------------------------------------------- n842 -------------------------------------------------- n877 -------------------------------------------------- n513 /bb/data/rmt2db.lrl:JBSKDB 31915 75... (4 Replies)
Discussion started by: aoussenko
4 Replies

4. Shell Programming and Scripting

Extract particular lines from a file

Hi all, I have a file with many records with information as given below ID A16L2_HUMAN Reviewed; 619 AA. AC Q8NAA4; A5PL30; B2RPK5; Q658V4; Q6PID3; Q8NBG0; DT 20-MAY-2008, integrated into UniProtKB/Swiss-Prot. DT 20-MAY-2008, sequence version 2. DT ... (1 Reply)
Discussion started by: kaav06
1 Replies

5. Shell Programming and Scripting

Extract some lines from one file and add those lines to current file

hi, i have two files. file1.sh echo "unix" echo "linux" file2.sh echo "unix linux forums" now the output i need is $./file2.sh unix linux forums (3 Replies)
Discussion started by: snreddy_gopu
3 Replies

6. Shell Programming and Scripting

Extract the lines from input file

This is the sample input file b 05/Jul/2010:07:00:10 a 05/Jul/2010:06:00:10 b 05/Jul/2010:07:00:10 c 05/Jul/2010:07:10:10 d 05/Jul/2010:08:00:10 e 05/Jul/2010:09:00:10 f 05/Jul/2010:10:00:10 h 05/Jul/2010:11:00:10 i 05/Jul/2010:12:00:10 j ... (9 Replies)
Discussion started by: sandy1028
9 Replies

7. Shell Programming and Scripting

extract particular lines from text file

I have two files file A which have a number in every row and file B which contains few hundred thousand rows with about 300 characters in each row (csv) What I need is to extract whole rows from B file (only these which numbers are indicated in A file) I also need to use cygwin. Any... (7 Replies)
Discussion started by: gunio
7 Replies

8. Shell Programming and Scripting

Extract lines from a file automatically. Please a Help

hello, hope you can help me: ive got a file called archivos The content or structure of this file is ./chu0/filechu ./chu1/filechu I extract each line from this file manually and redirect to a file, and it Works fine, so the command line is: awk ‘/chu0/ {print $0}' < archivos >... (8 Replies)
Discussion started by: alexcol
8 Replies

9. Shell Programming and Scripting

How to extract a sequence of n lines from a file

Hi I want to be able to extract a sequence of n lines from a file. ideas, commands and suggestions would be highly appreciated. Thanks (4 Replies)
Discussion started by: 0ktalmagik
4 Replies

10. Shell Programming and Scripting

how to extract a range of lines from a file

I am reading a file that contains over 5000 lines and I want to assign it to a shell variable array (which has a restriction of 1024 rows). I had an idea that if I could grab 1000 record hunks of the file, and pipe the records out, that I could perform a loop until I got to the end and process 1000... (5 Replies)
Discussion started by: beilstwh
5 Replies
Login or Register to Ask a Question