Script to duplicate lines


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Script to duplicate lines
# 1  
Old 06-18-2012
Script to duplicate lines

Hello,

I'm trying to write an script that in a txt with lines with 2 or more columns separated by commas, like

Code:
hello, one, two
bye, goal
first, second, third, fourth
hard, difficult.strong, word.line

will create another in which if a line has more than 2 columns, it will have another line and with only the 1st and 2nd column, another line with 1st and 3rd column, etc . Like this:

Code:
hello, one
hello, two
bye, goal
first, second
first, third
first, fourth
hard, difficult.strong
hard, word.line

Any help or tip?

Thank you very muchSmilie

Last edited by Scrutinizer; 06-18-2012 at 04:52 AM.. Reason: code tags
# 2  
Old 06-18-2012
Code:
$ nawk -F, '{if(NF>2){printf("%s,%s\n",$1,$2);for(i=3;i<=NF;i++){printf("%s,%s\n",$1,$i)}}else{print}}' input.txt
hello, one
hello, two
bye, goal
first, second
first, third
first, fourth

This User Gave Thanks to itkamaraj For This Post:
# 3  
Old 06-18-2012
Thank you, it worked :-)
# 4  
Old 06-18-2012
you can use awk,nawk or gawk:-


Code:
gawk '{for(i=2;i<=NF;i++){print $1,$i}}' FS="," OFS="," infile.txt > outfile.txt

BR
SmilieSmilieSmilie
This User Gave Thanks to ahmad.diab For This Post:
# 5  
Old 06-18-2012
Code:
# awk -F"," '{for(i=2;i<=NF;i++)print $1FS$i}' infile
hello, one
hello, two
bye, goal
first, second
first, third
first, fourth
hard, difficult.strong
hard, word.line

This User Gave Thanks to ygemici For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to put the command to remove duplicate lines in my awk script?

I create a CGI in bash/html. My awk script looks like : echo "<table>" for fn in /var/www/cgi-bin/LPAR_MAP/*; do echo "<td>" echo "<PRE>" awk -F',|;' -v test="$test" ' NR==1 { split(FILENAME ,a,""); } $0 ~ test { if(!header++){ ... (12 Replies)
Discussion started by: Tim2424
12 Replies

2. Shell Programming and Scripting

Duplicate lines

Dear All, I have a two-column data file and want to duplicate data in second column w.r.t. first column. My file looks like: 2 5.672 1 3.593 3 8.260 ... And the desired format: 5.672 5.672 3.593 8.260 8.260 8.260 ... How may I do so please? I appreciate any help you may... (2 Replies)
Discussion started by: sxiong
2 Replies

3. UNIX for Dummies Questions & Answers

Remove Duplicate Lines

Hi I need this output. Thanks. Input: TAZ YET FOO FOO VAK TAZ BAR Output: YET VAK BAR (10 Replies)
Discussion started by: tara123
10 Replies

4. Homework & Coursework Questions

Script: Removing HTML tags and duplicate lines

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: You will write a script that will remove all HTML tags from an HTML document and remove any consecutive... (3 Replies)
Discussion started by: tburns517
3 Replies

5. UNIX for Advanced & Expert Users

In a huge file, Delete duplicate lines leaving unique lines

Hi All, I have a very huge file (4GB) which has duplicate lines. I want to delete duplicate lines leaving unique lines. Sort, uniq, awk '!x++' are not working as its running out of buffer space. I dont know if this works : I want to read each line of the File in a For Loop, and want to... (16 Replies)
Discussion started by: krishnix
16 Replies

6. Shell Programming and Scripting

Print duplicate lines

I have a file where some of the lines are duplicates. How do I use bash to print all the lines that have duplicates? (2 Replies)
Discussion started by: locoroco
2 Replies

7. Shell Programming and Scripting

How to make duplicate lines

input tophr5:178975153-178982740:+ tophrX:14502176-14502376:+ output >tophr5:178975153-178982740:+ tophr5:178975153-178982740:+ >tophrX:14502176-14502376:+ tophrX:14502176-14502376:+ (2 Replies)
Discussion started by: quincyjones
2 Replies

8. UNIX for Dummies Questions & Answers

Duplicate columns and lines

Hi all, I have a tab-delimited file and want to remove identical lines, i.e. all of line 1,2,4 because the columns are the same as the columns in other lines. Any input is appreciated. abc gi4597 9997 cgcgtgcg $%^&*()()* abc gi4597 9997 cgcgtgcg $%^&*()()* ttt ... (1 Reply)
Discussion started by: dr_sabz
1 Replies

9. Shell Programming and Scripting

Command/Script to remove duplicate lines from the file?

Hello, Can anyone tell Command/Script to remove duplicate lines from the file? (2 Replies)
Discussion started by: Rahulpict
2 Replies

10. Shell Programming and Scripting

Duplicate Lines x 4

Hi Guys and Girls I'm having trouble outputing from a sorted file... i have a looooong list of PVIDs and need to only output only those which occur 4 times!! Any suggestions? ie I need to uniq (but not uniq (i've been through the man pg) this: cat /tmp/disk.out|awk '{print $3}' |grep -v... (6 Replies)
Discussion started by: serm
6 Replies
Login or Register to Ask a Question

Featured Tech Videos