VCF 파일의 모든 ID(N=2734)를 변경해야 합니다. 다음 예와 같습니다.
TEUBPD10006_TEUBPD10006
TEUBPD10007_TEUBPD10007
TEUBPD10008_TEUBPD10008
.
.
.
따라서 각 ID는 첫 번째 부분, 즉 : 등만 포함하도록 변경 TEUBPD10006
되어야 TEUBPD10007
합니다 TEUBPD10008
.
이 경우 Linux 정규식을 사용하여 한 번에 완료하려면 어떻게 해야 합니까?
답변1
왜 정규식을 사용하는 것이 해결책이라고 생각하는지 잘 모르겠지만 이것이 엄격한 요구 사항이 아닌 경우 다음을 사용하여 쉽게 수행할 수 있습니다 awk
.
awk -F'_' '{print $1}' /path/to/file
gawk를 사용하면 파일을 제자리에 덮어쓸 수 있습니다.
gawk -i inplace -F'_' '{print $1}' /path/to/file
또는 임시 파일을 사용하십시오.
awk -F'_' '{print $1}' /path/to/file > /path/to/temp_file && mv /path/to/temp_file /path/to/file
만약 너라면진짜정규 표현식을 추가할 수 있습니다:
awk -F'_' '/.*/{print $1}' /path/to/file
그러나 그렇게 하는 것은 의미가 없습니다.
또는 sed
정규식과 결합할 수 있습니다.
sed -e 's/\(.*\)_.*/\1/g' /path/to/file
답변2
이는 또한 도움이 될 수 있습니다:
cut -f1 -d'_' file