11-19-2010
Splitting file into 2 files ?
Hi
extending to one of my previous posted query ....
I am using
nawk -v invar1="$aa" '{print > ("ABS\_"((/\|/)?"A\_":"B\_")invar1"\_NETWORKID.txt")}' spfile.txt
to get 2 different files based on split condition i.e. "|"
Similar to invar1 variable in nawk I also need one more variable like invar2 to be passed into nawk. This I want to use in the place of NETWORKID
i.e. somthing similar to
nawk -v invar1="$aa" invar2="$bb" '{print > ("ABS\_"((/\|/)?"A\_":"B\_")invar1"\_"invar2".txt")}' spfile.txt
Above syntax is obviously wrong, I just like to know is there a way I can pass two different variables in nawk as above or other alternate way
- - - -
Also can I use Substring in nawk, because I need to find the '|' character in certain position in every line
i.e. I need to pick only those lines whose fifth character is '|' and then put that entire line in first file or else in second file
Eg:-
if
aa=xxxx
bb=yyyyy
and spfile.txt is
aaa1|bbb1|ccc1
11|21|31|
12|22|32|
13|23|33|
14|24|34|
aaa2|bbb2|ccc2
31|51|71|
32|52|72|
33|53|73|
34|54|74|
aaa3|bbb3|ccc3
41|61|81|
42|62|82|
43|63|93|
44|64|94|
aaa4|bbb4|ccc4
THEN
First file output should be (File ABS_A_xxxx_yyyy.txt)
aaa1|bbb1|ccc1
aaa2|bbb2|ccc2
aaa3|bbb3|ccc3
aaa4|bbb4|ccc4
Second file output should be (File ABS_B_xxxx_yyyy.txt)
11|21|31|
12|22|32|
13|23|33|
14|24|34|
31|51|71|
32|52|72|
33|53|73|
34|54|74|
41|61|81|
42|62|82|
43|63|93|
44|64|94|
Many many thanks in advance
regards
jc
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi,
I have an input file like:
111
abcdefgh
asdfghjk
dfghjkl
222
aaaaaaa
bbbbbb
333
djfhfgjktitjhgfkg
444
djdhfjkhfjkghjkfg
hsbfjksdbhjkgherjklg
fjkhfjklsahjgh
fkrjkgnj
I want to read this input file and make separate output files with the header as numric value like "111"... (9 Replies)
Discussion started by: saltysumi
9 Replies
2. Shell Programming and Scripting
Hi
I have to write a script to split the huge file into several pieces. The file columns is | pipe delimited. The data sample is as:
6625060|1420215|07308806|N|20100120|5572477081|+0002.79|+0000.00|0004|0001|......... (3 Replies)
Discussion started by: lakteja
3 Replies
3. Shell Programming and Scripting
I have a file as:
I/P File:
Ground Car 2009
Lib 2008
Lib 2003
Ground Car 2009
Ground Car 2003
Car 2005
Car 2003
Car 2005
Sita 2900 2006
Car 2007
I have to split the file into two: - one for names and second for years.
O/p1 (Names):
Ground Car (3 Replies)
Discussion started by: karumudi7
3 Replies
4. UNIX for Advanced & Expert Users
Hi Folks,
Please help me in solving the problem.
I want to write script in order to split a file into small pieces and send it automatically through mail.
Ex. The file name is CALM*.txt . It is around 50 MB. I want to split the file into 20 MB 2-3 smaller files and send (like uuencode) it... (6 Replies)
Discussion started by: piyushbhashkar
6 Replies
5. Shell Programming and Scripting
Hi all,
I am new to scripting and I have a requirement
we have source file as
HEADER 01.10.2010 14:32:37 NAYA
TA0022
TA0000
20000001;20060612;99991231;K4;02;3
20000008;20080624;99991231;K4;02;3
20000026;19840724;99991231;KK;01;3
20000027;19840724;99991231;KK;01;3... (6 Replies)
Discussion started by: srk409
6 Replies
6. Shell Programming and Scripting
I have an input file with contents like:
MainFile.dat:
12247689|7896|77698080
16768900|hh78|78959390
12247689|7896|77698080
16768900|hh78|78959390
12247689|7896|77698080
16768900|hh78|78959390
12247689|7896|77698080
16768900|hh78|78959390
12247689|7896|77698080
16768900|hh78|78959390
... (4 Replies)
Discussion started by: rkrish
4 Replies
7. Shell Programming and Scripting
Hi ,
I am receiving a CSV file that can vary in number of rows each time.
I am supposed to split this file into 3 separate files like this:
1. create a file named 'File1.csv' that will contain first 3 rows of the input file
2. create file named 'File2.csv' that will contain last 3 rows of the... (7 Replies)
Discussion started by: kedrick
7 Replies
8. Shell Programming and Scripting
Hello,
I have one file which is in size around 20 MB , wanted to split up into four files of each size of 5 MB.
ABCD_XYZ_20130302223203.xml.
Requirement is that to write script which should do as : first three file should be of size 5 MB each, the fourth one content should be in the last... (8 Replies)
Discussion started by: ajju
8 Replies
9. Shell Programming and Scripting
Hello Shell Guru's
I have a requirement to split the source xml file into three different text file.
And i need your valuable suggestion to finish this.
Here is my source xml snippet, here i am using only one entry of <jms-system-resource>. There may be multiple entries in the source file.
... (5 Replies)
Discussion started by: Siv51427882
5 Replies
10. Shell Programming and Scripting
Hello,
I have some large text files that look like,
putrescine
Mrv1583 01041713302D
6 5 0 0 0 0 999 V2000
2.0928 -0.2063 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
5.6650 0.2063 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0
3.5217 ... (3 Replies)
Discussion started by: LMHmedchem
3 Replies
LEARN ABOUT OPENSOLARIS
ucblinks
ucblinks(1B) SunOS/BSD Compatibility Package Commands ucblinks(1B)
NAME
ucblinks - adds /dev entries to give SunOS 4.x compatible names to SunOS 5.x devices
SYNOPSIS
/usr/ucb/ucblinks [-e rulebase] [-r rootdir]
DESCRIPTION
ucblinks creates symbolic links under the /dev directory for devices whose SunOS 5.x names differ from their SunOS 4.x names. Where possi-
ble, these symbolic links point to the device's SunOS 5.x name rather than to the actual /devices entry.
ucblinks does not remove unneeded compatibility links; these must be removed by hand.
ucblinks should be called each time the system is reconfiguration-booted, after any new SunOS 5.x links that are needed have been created,
since the reconfiguration may have resulted in more compatibility names being needed.
In releases prior to SunOS 5.4, ucblinks used a nawk rule-base to construct the SunOS 4.x compatible names. ucblinks no longer uses nawk
for the default operation, although nawk rule-bases can still be specifed with the -e option. The nawk rule-base equivalent to the SunOS
5.4 default operation can be found in /usr/ucblib/ucblinks.awk.
OPTIONS
-e rulebase Specify rulebase as the file containing nawk(1) pattern-action statements.
-r rootdir Specify rootdir as the directory under which dev and devices will be found, rather than the standard root directory /.
FILES
/usr/ucblib/ucblinks.awk sample rule-base for compatibility links
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWscpu |
+-----------------------------+-----------------------------+
SEE ALSO
devlinks(1M), disks(1M), ports(1M), tapes(1M), attributes(5)
SunOS 5.11 13 Apr 1994 ucblinks(1B)