happyv
May 25, 2007, 12:56am
1
Hello Friend,
I have the followint command to delete 4th field and move forward. Can I delete all filed and just remain the first 2?
sed -e "/^[ ]<Number/s/\([^ ]\) \([^ ]\)/\1\2/g" -e "/^[ ] <Number/s/\([0-9][0-9][0-9]\)./\1/" -e "/^[ ]<Number/s/\([0-9][0-9]\)/\1 /g" -e "/^[ ] <Number/s/0</</" file
input
<Number>00000000<Number>
<Number>0123456<Number>
<Number>4403459411<Number>
output
<Number>00<Number>
<Number>01<Number>
<Number>44<Number>
vino
May 25, 2007, 1:16am
2
sed -e "s/\(<[^>]*>..\)[^<]*\(<[^>]*>\)/\1\2/g" file
If you believe in 'beauty in brevity'
sed -e "s/\(>..\)[^<]*/\1/g" file
vino:
sed -e "s/\(<[^>]*>..\)[^<]*\(<[^>]*>\)/\1\2/g" file
If you believe in 'beauty in brevity'
sed -e "s/\(>..\)[^<]*/\1/g" file
thx, but the file have many different fileds should as <customer>, <price>, etc
I ONLY need to do <Number>, how your settlement work for this?
vino
May 25, 2007, 1:50am
4
happyv:
thx, but the file have many different fileds should as <customer>, <price>, etc
I ONLY need to do <Number>, how your settlement work for this?
Then it becomes much simpler
sed -e "s/\(<Number>..\).*\(<Number>\)/\1\2/g" file
awk '
{ if (match($0,"<Number>")){
print substr($0,0,RLENGTH) substr($0,RLENGTH+1,2)"<Number>"
}
}' "file"