.csv
이라는 디렉터리에 여러 개의 파일이 있습니다 mydirectory
. 먼저 bash/awk/sed 명령을 사용하여 열을 기준으로 LeftChr
모든 파일을 정렬한 RightChr
다음 열을 기준으로 result
.
>Id LeftChr LeftPosition LeftStrand LeftLength RightChr RightPosition RightStrand
1979 chr1 825881 - 252 chr2 5726723 -
5480 chr2 826313 + 444 chr2 5727501 +
5492 chr5 869527 + 698 chr2 870339 +
1980 chr2 1584550 - 263 chr1 1651034 -
5491 chr14 1685863 + 148 chr1 1686679 +
5490 chr1 1691382 + 190 chr1 1693020 +
결과
>Id LeftChr LeftPosition LeftStrand LeftLength RightChr RightPosition RightStrand
5490 chr1 1691382 + 190 chr1 1693020 +
1979 chr1 825881 - 252 chr2 5726723 -
1980 chr2 1584550 - 263 chr1 1651034 -
5480 chr2 826313 + 444 chr2 5727501 +
5492 chr5 869527 + 698 chr2 870339 +
5491 chr14 1685863 + 148 chr1 1686679 +
답변1
기본적으로 "sort -k"만 있으면 됩니다.
for f in *.csv; do
# output of first line
head -1 $f
# output of any but first line, then sort after 2. then 6. column
tail -n +2 $f | sort -k 2,6
done