I want to delete any line in my data file that have a certain starting letter (./) as the next line, if the next line has difference starting letter (not "./") please keep it.
Ex Input:
./00/11/22
./01/asd/34
aaa
bbb
./02/343/4/5
aa
./33/45/77
./445677/889
Ex Ouput:
./01/asd/34
aaa
bbb
./02/343/4/5
aa
anyone has ideas,
Thanks
awk '/^\.\//{x=$0;next}
x&&!/^\.\//{print x"\n"$0;x=0;next}1' filename
Use nawk or /usr/xpg4/bin/awk on Solaris.
Hi,
I think follow is ok, but it is a little complex. Hope can help you!
input:
./00/11/22
./01/asd/34
aaa
bbb
./02/343/4/5
aa
./33/45/77
./445677/889
bbbb
code:
awk '{
arr[NR]=$0
}
END{
for (i=2;i<=NR;i++)
if (substr(arr[i-1],1,2)!="./")
print arr[i-1]
else
if(substr(arr,1,2)!="./")
print arr[i-1]
if(substr(arr[NR],1,2)!="../")
print arr[NR]
}' a
output:
./01/asd/34
aaa
bbb
./02/343/4/5
aa
./445677/889
bbbb