
다음과 같은 열이 있는 다음 행렬이 있습니다.
TRINITY_DN12001_c0_g1_i3^ARC3_ARATH^MORN 1.52 1.20 1.25
TRINITY_DN109651_c0_g1_i1 12.38 32.55 62.98 37.92 9.05
TRINITY_DN26469_c0_g1_i1 1.91 0.00 2.62 2.92 2.22
각 행에 대해 첫 번째 열(TRINITY_DN12001_c0_g1_i3)의 일부를 추출하고 해당 ID로 새 열을 만들고 싶습니다. 나는 새로운 매트릭스가 이전에서 추출된 ID만 가지고 본질적으로 동일하기를 원합니다. awk를 사용해야 할 것 같은데 이 숫자로 무엇을 해야 할지 모르겠습니다. 나는 그것이 다음과 같이 보이기를 원합니다 :
TRINITY_DN12001_c0_g1_i3 TRINITY_DN12001_c0_g1_i3^ARC3_ARATH^MORN 1.52 1.20 1.25
TRINITY_DN109651_c0_g1_i1 TRINITY_DN109651_c0_g1_i1 12.38 32.55 62.98 37.92 9.05
TRINITY_DN26469_c0_g1_i1 TRINITY_DN26469_c0_g1_i1 1.91 0.00 2.62 2.92 2.22
어떤 도움이라도 대단히 감사하겠습니다.
답변1
이 방법이 귀하에게 적합한지 알려주세요.
sed 's/\([^\^ ]*\)/\1 \1/' file | tr -s ' '
산출:
TRINITY_DN12001_c0_g1_i3 TRINITY_DN12001_c0_g1_i3^ARC3_ARATH^MORN 1.52 1.20 1.25
TRINITY_DN109651_c0_g1_i1 TRINITY_DN109651_c0_g1_i1 12.38 32.55 62.98 37.92 9.05
TRINITY_DN26469_c0_g1_i1 TRINITY_DN26469_c0_g1_i1 1.91 0.00 2.62 2.92 2.22
이는 예상되는 출력과 일치합니다.
TRINITY_DN12001_c0_g1_i3 TRINITY_DN12001_c0_g1_i3^ARC3_ARATH^MORN 1.52 1.20 1.25
TRINITY_DN109651_c0_g1_i1 TRINITY_DN109651_c0_g1_i1 12.38 32.55 62.98 37.92 9.05
TRINITY_DN26469_c0_g1_i1 TRINITY_DN26469_c0_g1_i1 1.91 0.00 2.62 2.92 2.22