My input file:
>ali
ASSDDGHFHFHJFJHJDSDGSDGSDGSDGSDGSDGSDGDSGDSGSDGDSGSDGSDGDSGSDGGDSG
>zzz
ASdASDASDSADSADDSADJKHJDSADKLJADKLSAJDLJLKJLDASDDSADd
>abu
ASDASDFSAFASFSADFASDASDSADSADSADSADSADSADASDASdSADSADSADA
>aaa
MMMMASDSADSAMDASDSADSADSADSADSADDDDDDDDDDDDDDASDOIIEOUWIOEUQWIOEWQOEUWQIOEUWQIEOWQE
My desired output:
>aaa
MMMMASDSADSAMDASDSADSADSADSADSADDDDDDDDDDDDDDASDOIIEOUWIOEUQWIOEWQOEUWQIOEUWQIEOWQE
>ali
ASSDDGHFHFHJFJHJDSDGSDGSDGSDGSDGSDGSDGDSGDSGSDGDSGSDGSDGDSGSDGGDSG
>abu
ASDASDFSAFASFSADFASDASDSADSADSADSADSADSADASDASdSADSADSADA
>zzz
ASdASDASDSADSADDSADJKHJDSADKLJADKLSAJDLJLKJLDASDDSADd
How can I do to sort (descending order or ascending order) the file based on the contents inside each header?
Hi,... substitute the new line char for a escape char.... after that, substitute the combination escape char + new record char.... after that sort... after that go back to where we start... substitute the escape char for a new line....
That is:
tr '\n' '#' < INPUT_FILE | awk '{ aux=$0; gsub("#>","\n>",aux); print aux; }' | sort | tr '#' '\n'
Hi,
After I trying this code:
tr '\n' '#' < INPUT_FILE | awk '{ aux=$0; gsub("#>","\n>",aux); print aux; }' | sort | tr '#' '\n'
I get the output like:
>aaa
MMMMASDSADSAMDASDSADSADSADSADSADDDDDDDDDDDDDDASDOIIEOUWIOEUQWIOEWQOEUWQIOEUWQIEOWQE
>abu
ASDASDFSAFASFSADFASDASDSADSADSADSADSADSADASDASdSADSADSADA
>ali
ASSDDGHFHFHJFJHJDSDGSDGSDGSDGSDGSDGSDGDSGDSGSDGDSGSDGSDGDSGSDGGDSG
>zzz
ASdASDASDSADSADDSADJKHJDSADKLJADKLSAJDLJLKJLDASDDSADd
The output result is a bit different with what I'm desired. Do you know what is the main reason?
Thanks a lot
laurovalente:
Hi,... substitute the new line char for a escape char.... after that, substitute the combination escape char + new record char.... after that sort... after that go back to where we start... substitute the escape char for a new line....
That is:
tr '\n' '#' < INPUT_FILE | awk '{ aux=$0; gsub("#>","\n>",aux); print aux; }' | sort | tr '#' '\n'
---------- Post updated at 09:54 PM ---------- Previous update was at 01:14 AM ----------
Nobody can help me solve my problem?
Too complicated?!