Sponsored Content
Top Forums Shell Programming and Scripting How to concatene files and put each line of files on a specific position ? Post 302671123 by complex.invoke on Friday 13th of July 2012 06:36:58 AM
Old 07-13-2012
Just perform a matrix transposition
Code:
[root@node3 ~]# cat file1
AAAAAAA
BBBBBBB
CCCCCCC
[root@node3 ~]# cat file2
DDDDDDD
EEEEEEE
FFFFFFF
[root@node3 ~]# cat file3
GGGGGG
HHHHHH
IIIIII
[root@node3 ~]# cat transpose.sh 
#!/bin/bash 
# 
# transpose 
 
transpose() 
{ 
  awk ' 
      { 
              if (max_nf<NF) 
                    max_nf=NF 
              max_nr=NR 
              for (x=1; x<=NF; ++x) 
                     matrix[x, NR]=$x 
      } 
 
  END { 
              for (x=1; x<=max_nf; ++x) { 
                   for (y=1; y<=max_nr; ++y) 
                        printf("%s ", matrix[x, y]) 
                   printf("\n") 
              } 
      }'  ${1} 
} 
 
transpose ${1} 
[root@node3 ~]# xargs -n 3 < <(cat file*) | bash transpose.sh
AAAAAAA DDDDDDD GGGGGG 
BBBBBBB EEEEEEE HHHHHH 
CCCCCCC FFFFFFF IIIIII

 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

check position of end of line for some specific lines

-------------------------------------------------------------------------------- Have to check in a file that the lines starting with 620 and 705 are ending at same posiotin. 82012345 62023232323 70523949558 62023255454 9999 In the above lines, i have to check the lines starting... (1 Reply)
Discussion started by: senthil_is
1 Replies

2. Shell Programming and Scripting

Deleting Characters at specific position in a line if the line is certain length

I've got a file that would have lines similar to: 12345678 x.00 xx.00 x.00 xxx.00 xx.00 xx.00 xx.00 23456781 x.00 xx.00 xx.00 xx.00 xx.00 x.00 xxx.00 xx.00 xx.00 xx.00 34567812 x.00 xx.00 x.00 xxx.00 xx.00 xx.00 xx.00 45678123 x.00 xx.00 xx.00 xx.00 xx.00 x.00 xxx.00 xx.00 xx.00 xx.00 xx.00... (10 Replies)
Discussion started by: Cailet
10 Replies

3. Shell Programming and Scripting

Search in specific position and print the whole line

I have two files abc.dat and sant.dat (Big file 60k rows) for every line's 1,4 of abc.dat need to seach if this is present on 28,4 of sant.dat every line. if its present the output needs to go to bde.dat Example: contents abc.dat aaaa bbbb cccc dddd contents sant.dat this is... (4 Replies)
Discussion started by: ssantoshss
4 Replies

4. Shell Programming and Scripting

Printing characters at specific position in line

Hi, I am trying to get an output like : +----------------------------------+ ----------- + + some variable substitution + some text + Is there a way I can specify in printf (in ksh) the particular position I want to print a character, and also repeat a character from... (1 Reply)
Discussion started by: neil.k
1 Replies

5. Shell Programming and Scripting

Put a # in start of a specific line of a file

Hello Guys Please let me know how to solve the below issue I have a file like below drop table R1416.ABC1 cascade constraints; drop table R1416.ABC2 cascade constraints; drop table R1416.ABC3 cascade constraints; drop table R1416.ABC4 cascade constraints; drop table R1416.ABC5... (7 Replies)
Discussion started by: Pratik4891
7 Replies

6. Shell Programming and Scripting

Compare two CSV files and put the difference in third file with line no,field no and diff value.

I am having two csv files i need to compare these files and the output file should have the information of the differences at the field level. For Example, File 1: A,B,C,D,E,F 1,2,3,4,5,6 File 2: A,C,B,D,E,F 1,2,4,5,5,6 out put file: (12 Replies)
Discussion started by: karingulanagara
12 Replies

7. Shell Programming and Scripting

Need help on find and replacement on specific line and position

I have a file with 100 lines. On 50 th line , from position 5 to rest of the data , I need to change the occurrence of A to B and Occurrence of M to N. Input file : Line1 Line2 Line3 -- -- 12345ABCDEFM --- -- Line 100 Output Line1 Line2 (40 Replies)
Discussion started by: Rajesh_us
40 Replies

8. Shell Programming and Scripting

Remove line break at specific position

Hi, I need to remove line breaks from a file, but only the ones at specific position. Input file: this is ok this line is divided at posit ion 30. The same as this one, also position 30 the rest of lines are ok with different lengths The longest ones are always s plitted at same... (15 Replies)
Discussion started by: qranumo
15 Replies

9. Shell Programming and Scripting

Count specific character of a file in each line and delete this character in a specific position

I will appreciate if you help me here in this script in Solaris Enviroment. Scenario: i have 2 files : 1) /tmp/TRANSACTIONS_DAILY_20180730.txt: 201807300000000004 201807300000000005 201807300000000006 201807300000000007 201807300000000008 2)... (10 Replies)
Discussion started by: teokon90
10 Replies
CAT(1)							      General Commands Manual							    CAT(1)

NAME
cat - catenate and print SYNOPSIS
cat [ -u ] [ -n ] [ -s ] [ -v ] file ... DESCRIPTION
Cat reads each file in sequence and displays it on the standard output. Thus cat file displays the file on the standard output, and cat file1 file2 >file3 concatenates the first two files and places the result on the third. If no input file is given, or if the argument `-' is encountered, cat reads from the standard input file. Output is buffered in the block size recommended by stat(2) unless the standard output is a terminal, when it is line buffered. The -u option makes the output completely unbuffered. The -n option displays the output lines preceded by lines numbers, numbered sequentially from 1. Specifying the -b option with the -n option omits the line numbers from blank lines. The -s option crushes out multiple adjacent empty lines so that the output is displayed single spaced. The -v option displays non-printing characters so that they are visible. Control characters print like ^X for control-x; the delete char- acter (octal 0177) prints as ^?. Non-ascii characters (with the high bit set) are printed as M- (for meta) followed by the character of the low 7 bits. A -e option may be given with the -v option, which displays a `$' character at the end of each line. Specifying the -t option with the -v option displays tab characters as ^I. SEE ALSO
cp(1), ex(1), more(1), pr(1), tail(1) BUGS
Beware of `cat a b >a' and `cat a b >b', which destroy the input files before reading them. 4th Berkeley Distribution May 5, 1986 CAT(1)
All times are GMT -4. The time now is 10:30 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy