파일의 숫자와 문자를 구분하기 위해 탭 문자를 추가하고 싶습니다.
71aging
1420anatomical_structure_development
206anatomical_structure_formation_involved_in_morphogenesis
19ATPase_activity
46autophagy
2634biological_process
이제 다음과 같이 보입니다.
71 aging
1420 anatomical_structure_development
206 anatomical_structure_formation_involved_in_morphogenesis
19 ATPase_activity
46 autophagy
2634 biological_process
한 줄이 있나요?sed이것을 위해?
답변1
다음은 귀하의 요구 사항을 충족하는 sed 라이너입니다.
sed "s/^[0-9]*/&\t/g" filename
산출
71 aging
1420 anatomical_structure_development
206 anatomical_structure_formation_involved_in_morphogenesis
19 ATPase_activity
46 autophagy
2634 biological_process
답변2
sed -re 's/([0-9]+)([^0-9].*)/\1\t\2/g'
숫자를 찾은 다음 숫자가 아닌 것과 다른 것들을 찾으세요. 숫자 뒤에 공백을 추가하십시오.
답변3
이것을 사용sed
sed 's/^[0-9][0-9]*/&\t/' infile
답변4
가지고 있는 것을 입력으로 사용하고POSIX BRE:
sed 's/^\([[:digit:]]*\)\(.*\)$/\1\t\2/g' input.txt
perl
그룹화와 함께 사용하는 것도 충분합니다.
$ perl -pe 's/(\d+)(.*)/\1\t\2/g' input.txt