문자열에 하이픈 "-"을 추가하고 싶습니다.
어떻게 행동하고 싶나요?
vol0802-f522-6cc63-0a3-d
출력에 대해 위의 정보를 얻습니다. 그러나 다음 출력이 필요합니다.
vol-0802f5226cc630a3d
-
다음을 사용하여 누락된 항목을 추가할 수 있습니다.
sed 's/\(.\{3\}\)/&-/;'
그러나 위 명령은 다른 -
기호를 변경하지 않고 유지합니다.
답변1
사용sed
$ echo "vol0802-f522-6cc63-0a3-d" | sed 's/-//g;s/[^0-9]*/&-/'
vol-0802f5226cc630a3d
답변2
에서는 bash 4+
다음과 같이 작동합니다.
String='vol0802-f522-6cc63-0a3-d'
String=${String//-}
echo ${String}
vol0802f5226cc630a3d
String="${String:0:3}-${String:3}"
echo ${String}
vol-0802f5226cc630a3d
-
세 번째 위치가 항상 필요한지 여부는 말하지 않았지만 쉽게 처리할 수 있습니다. 도움이 되지 않으면 귀하의 환경에 대해 알려주십시오. 태국어!
답변3
제공된 입력에 대해 설명된 대로 이 작업을 수행해야 합니다.
sed 's/-//g;s/^.\{3\}/&-/'
다음과 같아야 합니다.
sed 's/-//g;s/^vol/&-/'