Help with replace data content


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Help with replace data content
# 1  
Old 11-25-2011
Help with replace data content

Format of one input file:
Code:
# >length=1
seq	program	data	909	1992
seq	program	record	909	1190

Desired output result:
Code:
# >length=1
length=1	program	data	909	1992
length=1	program	record	909	1190

I wanna to replace all the column 1 content (exclude the content start with "#") with the info in # but remove the ">"
Command I try:
Code:
step 1:
awk '{print $2}' input_file.txt | fgrep '>' | sed 's/>//g' > tmp.txt
cat
step 2:
cat tmp.txt | awk '{print "sed \047s/seq/"$1"/g\047 input_file.txt"}' > run.sh
step 3:
./run.sh

The command I try is also able to generate my desired output result.
Thanks for any advice to improve it.
# 2  
Old 11-25-2011
Code:
$ a=$(head -1 test | cut -d\> -f2); nawk -v a=$a 'NR>1{$1=a;print}' inputfile.txt 
length=1 program data 909 1992
length=1 program record 909 1190

This User Gave Thanks to itkamaraj For This Post:
# 3  
Old 11-26-2011
any other advice is appreciated Smilie
# 4  
Old 11-26-2011
Another one...
Code:
awk 'NR==1{split($0,a,">");next}{$1=a[2]}1' input_file

--ahamed
# 5  
Old 11-26-2011
A solution in Perl.

Code:
#! /usr/bin/perl
use warnings;
use strict;

my (@x, @y, $line);
open SOURCE, "< source.txt";
for $line (<SOURCE>) {
    if ($line =~ /^# >/) {
        @x = split /\s+/, $line;
        $x[1] =~ s/>//;
        open DEST, ">> output.txt";
        print DEST "$line";
        close DEST;
        next;
    }
    else {
        @y = split /\t/, $line;
        $y[0] =~ s/$y[0]/$x[1]/;
        open DEST, ">> output.txt";
        print DEST join "\t", @y;
        close DEST;
    }
}
close SOURCE;

source.txt:
------------------
# >length=1
seq program data 909 1992
seq program record 909 1190
# >length=2
seq program data 909 1992
seq program record 909 1190

output.txt:
-------------------
# >length=1
length=1 program data 909 1992
length=1 program record 909 1190
# >length=2
length=2 program data 909 1992
length=2 program record 909 1190
# 6  
Old 11-26-2011
Code:
awk -F\> '/^#/{_=$NF}{sub(/^seq/,_)}_' file

This User Gave Thanks to danmero 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

Replace Content

Hello all ; ) I'got a file1 with a lot of emails like : fistname.lastname@domaine1.comAnd another file2 with emails like fistname.lastname@domaine2.ct.netI need a shell script that will read each line from the file1 and try to find if in file2 the fistname.lastname exist. If yes, the... (1 Reply)
Discussion started by: Aswex
1 Replies

2. Shell Programming and Scripting

Mysql Content Replace

I have a wordpress site. I need add "post_title" to all my "post_content" mysql field. Thanks. my content: Free <b>Online Tips</b> output:Free post_title <b>Online Tips</b>: This code does not work: UPDATE wp_posts SET post_content = REPLACE ( post_content, 'Free <b>Online... (0 Replies)
Discussion started by: tara123
0 Replies

3. Shell Programming and Scripting

Help with replace all the content within ()

Hi, Below is my input file : AAAG(12) TC(14) AACCCT(66) AACCCT(30) AACCCT(18) AACCCT(48) TCTG(12) TCTG(20) TCTG(16) AC(12) AC(12) TCTG(16) TCTG(12) AC(12) AC(12) AC(12) AC(26) AC(14) AGTG(12) AC(24) AGTG(12) TCC(12) Desired output : AAAG TC AACCCT AACCCT AACCCT AACCCT TCTG TCTG... (4 Replies)
Discussion started by: perl_beginner
4 Replies

4. Shell Programming and Scripting

Sed: replace content from file with the content from file

Hi, I am having trouble while using 'sed' with reading files. Please help. I have 3 files. File A, file B and file C. I want to find content of file B in file A and replace it by content in file C. Thanks a lot!! Here is a sample of my question. e.g. (file A: a.txt; file B: b.txt; file... (3 Replies)
Discussion started by: dirkaulo
3 Replies

5. Shell Programming and Scripting

Help with replace duplicate content

Input file: CCNI data564_input1 264 CORO1A data564_input2 155 ABC-B data17_input1 3466 ABC-B data17_input2 1133 ABC-B data17_input3 2162 ABC-B data17_input4 2019 HNRNPA2B1 data95_input1 101 HNRNPA2B1 data95_input2 340 IFITM1 data105_input2 291 IFITM2 data105_input1 505... (3 Replies)
Discussion started by: cpp_beginner
3 Replies

6. Shell Programming and Scripting

Replace data of one column with data on other file corresponding to transaction ID matched

Hi All, I have two files one of which having some mobile numbers and corresponding value whose sample content as follows: 9058629605,8.0 9122828964,30.0 And in second file complete details of all mobile numbers and sample content as follows and delimeter used is comma(,): ... (8 Replies)
Discussion started by: poweroflinux
8 Replies

7. Shell Programming and Scripting

Extract specific data content from a long list of data

My input: Data name: ABC001 Data length: 1000 Detail info Data Direction Start_time End_time Length 1 forward 10 100 90 1 forward 15 200 185 2 reverse 50 500 450 Data name: XFG110 Data length: 100 Detail info Data Direction Start_time End_time Length 1 forward 50 100 50 ... (11 Replies)
Discussion started by: patrick87
11 Replies

8. Shell Programming and Scripting

search and replace the content

Hi All,sorry for inconvience....please find the attachement for my question i am unable to paste the question here....please help me in slving thisthanksk.k (4 Replies)
Discussion started by: G.K.K
4 Replies

9. Shell Programming and Scripting

How to replace a line content

Hi Experts, I have binary files contain an ID Line as: : : $Header: FNDSCMON.fmb 115.6 2000/01/11 10:26:10 pkm ship$ : : where the ID Line format is: $Header: <File_Name> <Version> <Last_update_date_time> pkm ship$ In this Example: File_Name = FNDSCMON.fmb Version = 115.6... (13 Replies)
Discussion started by: victorcheung
13 Replies

10. Shell Programming and Scripting

How to replace a variable content

Hi, variable1="This is a car" Now I want to replace the content of variable1, "car" to "dog". Is there any simple command I can use. Thanks. Joseph (4 Replies)
Discussion started by: josephwong
4 Replies
Login or Register to Ask a Question