다음과 같은 매트릭스 파일이 있습니다. 첫 번째 열은 목록입니다. _i1
각 이름 끝에 추가하고 싶습니다 .
A1A A1B A1C A1D A1E
TR6764_c0_g2 0.00 0.02 0.00 0.00 0.00
TR25644_c0_g1 0.00 0.00 0.00 0.00 0.00
TR4897_c0_g1 58.50 177.26 130.35 8.52 102.66
TR900_c0_g2 0.00 0.00 0.00 0.00 0.00
원하는 결과는 다음과 같습니다.
A1A A1B A1C A1D A1E
TR6764_c0_g2_i1 0.00 0.02 0.00 0.00 0.00
TR25644_c0_g1_i1 0.00 0.00 0.00 0.00 0.00
TR4897_c0_g1_i1 58.50 177.26 130.35 8.52 102.66
TR900_c0_g2_i1 0.00 0.00 0.00 0.00 0.00
어떻게 해야 하나요?
답변1
나는 다음을 사용할 것이다 awk
:
$ awk 'NR>1{$1=$1"_i1"}1;' test.txt
A1A A1B A1C A1D A1E
TR6764_c0_g2_i1 0.00 0.02 0.00 0.00 0.00
TR25644_c0_g1_i1 0.00 0.00 0.00 0.00 0.00
TR4897_c0_g1_i1 58.50 177.26 130.35 8.52 102.66
TR900_c0_g2_i1 0.00 0.00 0.00 0.00 0.00
또는 공백을 그대로 유지해야 하는 경우 Perl을 사용하세요.
$ perl -pe 's/\s/_i1$&/ if $.>1' test.txt
A1A A1B A1C A1D A1E
TR6764_c0_g2_i1 0.00 0.02 0.00 0.00 0.00
TR25644_c0_g1_i1 0.00 0.00 0.00 0.00 0.00
TR4897_c0_g1_i1 58.50 177.26 130.35 8.52 102.66
TR900_c0_g2_i1 0.00 0.00 0.00 0.00 0.00
답변2
나는 첫 번째 공백과 일치한다고 생각합니다.
sed 's/\s/_i1\t/' test.txt