awk -F\| '
{TMP[$2] = TMP[$2] FA[$2] $1
FA[$2] = FS
}
END {CH[1] = 97
for (t in TMP) {n = split (TMP[t], T)
printf "select * from %s %c", T[1], CH[1]
for (i=2; i<=n; i++) {CH[i] = CH[i-1] + 1
printf " inner join %s %c on %c.%s=%c.%s", T[i], CH[i], CH[1], t, CH[i], t
}
printf RS
}
}
' file
select * from Table1 a inner join Table2 b on a.Column1=b.Column1 inner join Table5 c on a.Column1=c.Column1
select * from Table3 a inner join Table2 b on a.Column2=b.Column2
select * from Table4 a inner join Table2 b on a.Column3=b.Column3
select * from Table2 a inner join Table5 b on a.Column4=b.Column4
select * from Table2 a
EDIT: or mayhap with a simpler END section:
Code:
END {split ("a b c d e f g", CH, " ")
for (t in TMP) {n = split (TMP[t], T)
printf "select * from %s %c", T[1], CH[1]
for (i=2; i<=n; i++) printf " inner join %s %c on %c.%s=%c.%s", T[i], CH[i], CH[1], t, CH[i], t
printf RS
}
Hi.
If we have this file
A B C
7 8 9
1 2 10
and this other file
A C D F
7 9 2 3
9 2 3 4
The result i´m looking for is intersection with A B C D F
so the answer here will be (10 Replies)
i have a file - it will be in sorted order on column 1
abc 0 1
abc 2 3
abc 3 5
def 1 7
def 0 1
--------
i'd like (awk maybe?) to get the results (any ideas)???
abc 5 9
def 1 8 (2 Replies)
Hi All,
I have working (Perl) code to combine 2 input files into a single output file using the join function that works to a point, but has the following limitations:
1. I am restrained to 2 input files only.
2. Only the "matched" fields are written out to the "matched" output file and... (1 Reply)
I have n files (for ex:64 files) with one similar column. Is it possible to combine them all based on that column ?
file1
ax100 20 30 40
ax200 22 33 44
file2
ax100 10 20 40
ax200 12 13 44
file2
ax100 0 0 4
ax200 2 3 4 (9 Replies)
Hi experts,
Would you please help me with this?
I have several files and I need to join the forth field of them based on the common first field.
here's an example...
first file:
280346 39.88 -75.08 547.8
280690 39.23 -74.83 538.7
280729 40.83 -75.08 499.2
280907 40.9 -74.4 507.8... (5 Replies)
Hi,
I have 20 tab delimited text files that have a common column (column 1). The files are named GSM1.txt through GSM20.txt. Each file has 3 columns (2 other columns in addition to the first common column).
I want to write a script to join the files by the first common column so that in the... (5 Replies)
Hi all,
I'm trying to join two .txt file tab delimitated based on a common column.
File 1
transcript_id gene_id length effective_length expected_count TPM FPKM IsoPct
comp1000201_c0_seq1 comp1000201_c0 337 183.51 0.00 0.00 0.00 0.00
comp1000297_c0_seq1 ... (1 Reply)
Hi
I have a file like
1 2
1 2 3
1 5 6
11 12
10 2
7 5
17 12
I would like to have an output as
1 2 3 5 6 10 7
11 12 17
any help would be highly appreciated
Thanks (4 Replies)
Hi Guys,
Could you please advise how to join multiple details lines into single row, with HEADER 1 as the record separator and comma(,) as the field separator.
Input:
HEADER 1, HEADER 2, HEADER 3,
11,22,33,
COLUMN1,COLUMN2,COLUMN3,
AA1, BB1, CC1,
END: ABC
HEADER 1, HEADER 2,... (3 Replies)
Hi all,
I've multiple files. In this case 5. Space separated columns. Each file has 12 columns. Each file has 300-400K lines.
I want to get the output such that if a value in column 2 is present in all the files then get all the columns of that value and print it side by side.
Desired output... (15 Replies)
Discussion started by: genome
15 Replies
LEARN ABOUT DEBIAN
shtool-move
SHTOOL-MOVE.TMP(1) GNU Portable Shell Tool SHTOOL-MOVE.TMP(1)NAME
shtool-move - GNU shtool enhanced mv(1) replacement
SYNOPSIS
shtool move [-v|--verbose] [-t|--trace] [-e|--expand] [-p|--preserve] src-file dst-file
DESCRIPTION
This is a mv(1) style command enhanced with the ability to rename multiple files in a single operation and the ability to detect and not
touch existing equal destinations files, thus preserving timestamps.
OPTIONS
The following command line options are available.
-v, --verbose
Display some processing information.
-t, --trace
Enable the output of the essential shell commands which are executed.
-e, --expand
Expand asterisk in src to be used as ""%"n" (where n is 1,2,...) in dst-file. This is useful for renaming multiple files at once.
-p, --preserve
Detect src-file and dst-file having equal content and not touch existing destination files, thus perserving timestamps. This is useful
for applications that monitor timestamps, i.e. suppress make(1L) repeating actions for unchanged files.
EXAMPLE
# shell script
shtool move -v -e '*.txt' %1.asc
# Makefile
scanner.c: scanner.l
lex scanner.l
shtool move -t -p lex.yy.c scanner.c
HISTORY
The GNU shtool move command was originally written by Ralf S. Engelschall <rse@engelschall.com> in 1999 for GNU shtool.
SEE ALSO shtool(1), mv(1), make(1).
18-Jul-2008 shtool 2.0.8 SHTOOL-MOVE.TMP(1)