
몇 가지 범주와 해당 값이 있습니다.
Category: Value:
1*4 15.934934
1*5*3 19.281281
1*8*10*2 78.20912
카테고리를 카테고리를 나타내는 숫자로 바꾸고 싶습니다.
예를 들어:
1*4에 두 개의 숫자가 있으면 2로 대체됩니다.
1*5*3은 3자리 숫자이므로 3자리로 바꾸세요.
1*8*10*2는 4자리 숫자이므로 4로 바꿉니다.
수백 개의 파일에 대해 이 프로세스를 수행해야 하므로 프로세스를 자동화하는 것이 매우 중요합니다!
답변1
~처럼스틸 드라이버의 생각, 하지만 별을 세는 중:
awk '{ $1 = 1 + gsub(/\*/, "", $1); print; }' < input > output
예제 입력에서 실행하면 다음이 생성됩니다.
2 15.934934
3 19.281281
4 78.20912
답변2
sed
숫자에 대한 개념이 없기 때문에 이 작업을 수행하는 것은 약간 힘듭니다.
sed -E 's/^[0-9]+\*/1*/; s/^1\*[0-9]+/2/; s/^2\*[0-9]+/3/; s/^3\*[0-9]+/4/;' input