05-25-2006
In the end I got this working:
#This gets the occurrences of the subheader I wish to split on
awk -F"," '$2 != prev && $1=="03" && NR !=1 { print (NR*2)-1; prev = $2 }' MyFile > data
#This then gets the data file and transposes the line numbers eg: 1 305 315 398 509 515
#HPUX seems to be coming in at under 1/2 so have doubled the NR above
#num=$(awk -F"," 'NR==1 { print NF }' data)
num=$(awk -F"," 'NR==1 { print NF }' data)
print $num
i=1
while (( $i <= $num ))
do
newline=''
for val in $(cut -d" " -f$i data)
do
newline=$newline$val" "
done
nline=`print ${newline%?}`
print $nline >> tmpdata
(( i = i + 1 ))
done
mv tmpdata data
# This then gets the rows we transposed and fires the below command
rows=`cat data`
csplit 'MyFile' ${rows}
#Which looks like csplit MyFile 305 315 398 509 515
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Dear Friends,
please help me.
I am using csplit to split the files,
i.e.,
csplit -f filetype_ -n 3 filename '/regexpn/' {5}
which will split file "filename" into 5 subfiles
filetype_000
filetype_001
filetype_002
filetype_003
filetype_004
but if I run the csplit commad again it will... (2 Replies)
Discussion started by: kumar1
2 Replies
2. UNIX for Dummies Questions & Answers
I am trying to use the csplit file on a file that contains records that have more than 2048 characters on a line. The resultant split file seems to ignore the rest of the line and I lose the data.
Is there any way that csplit can handle record lengths greater than 2048?
Thanks (0 Replies)
Discussion started by: ravagga
0 Replies
3. UNIX for Dummies Questions & Answers
I have an excel file with more than 65K records... Since excel does not take more than 65K records i wan to split the file and send it as two excel files... Could some help me how to use the csplit by specifiying the no of records (7 Replies)
Discussion started by: savitha
7 Replies
4. Shell Programming and Scripting
Hi All,
I have a strange behaviour from csplit command on some text files.
I have a comma separated file and data with in double quotes. This file is being generated from Sequential stage of Data stage tool.
This file has 67 fields in each records with some null and blank in the data.... (4 Replies)
Discussion started by: shreekrishnagd
4 Replies
5. Shell Programming and Scripting
Hello all
The below command works perfeft when executed from the shell prompt.
"csplit -f first Allocation.log.1 "%. Oct 02 .%" {1} "
and generates first00 file.
But it fails if I include the same command in my script.
I am trying to automate some process and this is turning... (1 Reply)
Discussion started by: uandme2k2
1 Replies
6. Shell Programming and Scripting
I am using GNU csplit to extract chapters from a big file into smaller files.
I want to use the -b option
-b, --suffix-format=FORMAT use sprintf FORMAT instead of %d
but I have failed so far.
1) All the generated files need to have a suffix .txt at the end
2) They have to look like... (1 Reply)
Discussion started by: MarioColuzzi
1 Replies
7. Shell Programming and Scripting
I have a file with contents
<wmqi>
sdf
sdf
sdffghghhjjfh
</wmqi>
<wmqi>
gh
dfg
hhjhj
sdfsdf
g
</wmqi>
<wmqi>
dfgdf
fg
dfgfg
</wmqi>
<wmqi> (6 Replies)
Discussion started by: Shivdatta
6 Replies
8. UNIX for Dummies Questions & Answers
I want to split big files based on a pattern to stdout.
Although csplit works well for me splitting the output into separate files (e.g. xx00, xx01, xx02, ...), the following is not working as expected:
<code>
# assuming pattern occurs less than 100 times
csplit bigfile '%pattern%'... (2 Replies)
Discussion started by: uiop44
2 Replies
9. Shell Programming and Scripting
Hello
am trying to split the following top output at the TTY line but having some issues:
System: msisprd Sun Oct 9 09:35:37 2011
Load averages: 0.14, 0.17, 0.16
411 processes: 361 sleeping, 50 running
Cpu states:
CPU LOAD USER NICE SYS ... (3 Replies)
Discussion started by: delphys
3 Replies
10. UNIX for Beginners Questions & Answers
Input file:
CLK00027 TESTDATA 0 S 600000 \r
0001RFC 192321 321321 321321 \r
0002 rfd this is testdata1
CLK00027 TESTDATA 0 S 600000 \r
0001RFC 192321 321321 321321 \r
0002 rfd this is testdata2
I Need to split this file into seperate files
file1.txt
CLK00027 ... (1 Reply)
Discussion started by: VXANDERB
1 Replies
LEARN ABOUT BSD
unicode_start
UNICODE_START(1) General Commands Manual UNICODE_START(1)
NAME
unicode_start - put keyboard and console in unicode mode
SYNOPSIS
unicode_start [font [umap]]
DESCRIPTION
The unicode_start command will put the keyboard and console into Unicode (UTF-8) mode.
For the keyboard this means that one can attach 16-bit U+xxxx values to keyboard keys using loadkeys(1), and have these appear as UTF-8
input to user programs. Also, that one can type hexadecimal Alt-xxxx using the numeric keypad, and again produce UTF-8.
For the console this means that the kernel expects UTF-8 output from user programs, and displays the output accordingly.
The parameter font is a font that is loaded. It should have a built-in Unicode map, or, if it hasn't, such a map can be given explicitly as
second parameter. When no font was specified, the current font is kept.
NOTE
Unicode mode is a parameter with a value per virtual console. However, usually the font and keymap is common to all consoles.
SEE ALSO
dumpkeys(1), kbd_mode(1), loadkeys(1), unicode_stop(1), utf-8(7), setfont(8)
3 Feb 2001 UNICODE_START(1)