비슷한 문자열이 있습니다 New\x20Folder
. 특수 문자는 해당 코드로 표시됩니다. 문자열을 인용 형식으로 변환하고 싶습니다: "New Folder"
.
사용할 수 있는 유일한 도구는 bash와 sed와 같은 표준 유틸리티입니다.
첫 번째 양식은 udev 환경 변수에 의해 생성됩니다 ID_FS_LABEL_ENC
. autofs 구성 파일은 필수 형식을 사용합니다. 인용된 문자열이 필요합니다.
답변1
백슬래시 자체도 문자열( \x5c
아마도) 에서 이스케이프된다고 가정하면 udev
Bash의printf
내장:
printf -v translated '"%b"' "$ID_FS_LABEL_ENC"
예제 문자열을 사용해 보면 다음과 같습니다.
$ ID_FS_LABEL_ENC='New\x20Folder'
$ printf -v translated '"%b"' "$ID_FS_LABEL_ENC"
$ echo "Translated to: '$translated'"
Translated to: '"New Folder"'
원하시는 변화를 받아드립니다.
printf -v
백슬래시 이스케이프 시퀀스를 수행하는 Bash 확장 형식으로 표준 스타일 번역 결과를 printf
변수에 할당합니다. %b
이는 이름에 이상하지만 합법적인 문자가 포함된 흥미로운 비즈니스의 영향을 받지 않으며 문자열 재작성이 필요하지 않습니다.
답변2
이 시도:
string=$'New\x20Folder'
또는
string="New\x20Folder"
string="$(echo -e "$string")"