Jairaj
1
Hi All;
I have input file like below
name char(3)
number number(3)
inputfile
namenumber
xyz123abc509kai330
aca203
ald390afa000als303
I wanted to split like below:-
output like this:-
xyz123
abc509
kai330
aca203
ald390
afa000
als303
I used below:-
awk '{a[$1]=substr($0,1,3)} END {(for i in a) print (i,a)}' inputfile
I got only
xyz123
how to pass variable in susbtr command.
$ cat file
xyz123abc509kai330
aca203
ald390afa000als303
Output:
$ fold -w6 file
xyz123
abc509
kai330
aca203
ald390
afa000
als303
Guru.
1 Like
Jairaj
4
Hi Chubler,
Thanks. But it is not working.
---------- Post updated at 11:54 PM ---------- Previous update was at 11:52 PM ----------
Hi Guru,
Great. It is wokring.
---------- Post updated at 11:57 PM ---------- Previous update was at 11:54 PM ----------
Hi Guys,
How to achieve this using awk command.
$ awk '{i=1;while(i<=length($0)){print substr($0,i,6);i+=6}}' file
xyz123
abc509
kai330
aca203
ald390
afa000
als303
Guru.
kitt
6
perl mode
cat test.txt | perl -ne 'chomp; @v = split /(:?.{6})/,$_; map {print( $_ , qq/\n/) if length( $_) } @v'
xyz123
abc509
kai330
aca203
ald390
afa000
als303
---------- Post updated at 01:26 AM ---------- Previous update was at 01:09 AM ----------
for non fixed length, buy same conditions
before:
xsdfyz123abc50239kasdfai330
aca203cocacola2011
ald390afa000als303
cat test.txt | perl -ne "chomp; @v = split /(:?[a-z]+\d+)/i,$_; map {print( $_ , qq/\n/) if length( $_) } @v"
xsdfyz123
abc50239
kasdfai330
aca203
cocacola2011
ald390
afa000
als303
ltomuno
7
sed -n 's/[a-zA-Z]*[0-9]*/&\n/gp' input | sed '/^$/d'