sed
this 명령을 사용하여 줄 시작 부분에서 특수 문자를 검색하고 다른 특수 문자로 바꾼 다음 해당 특수 문자만 줄에 추가할 수 있는 방법이 있습니까 ?
좀 찾아보고, 포럼을 찾아보고, 이해하려고 노력했습니다 sed
. 특수 문자에 대해 뭔가 조치를 취해야 할 것 같습니다. sed
a로 시작하는 줄을 추가 [
하고 a를 추가 하는 명령을 사용하고 있지만 ]
아무 작업도 수행하지 않습니다. 뭔가 빠진 것 같아요. 또 다른 문제는 다른 sed* that replaces a
// [` 에 의존한다는 것입니다 for a
.
찾아서 바꾸기:
sed -e 'y#//#[#'
오류가 반환됩니다.
sed: -e expression #1, char 7: strings for `y' command are different lengths
부록:
sed -e "/^'['/s/$/']/g"
파일의 복사본을 만들고 텍스트 편집기를 사용하여 찾기 및 바꾸기를 수행하고 //를 [로 변경했지만 이 명령은 아무것도 반환하지 않으며 끝에 문자를 추가하지 않습니다.
이 명령을 작동시키려면 아직 뭔가가 부족한 것 같고, 이 명령을 하나의 명령으로 결합할 수 있는 방법이 있는지 잘 모르겠습니다.
답변1
내가 아는 한, 당신이 원하는 것은 이 sed 명령이 수행해야 합니다. "y"가 아닌 "s" 명령을 사용합니다.
첫 번째 sed 명령(세미콜론까지)은 //의 모든 인스턴스를 [로 바꿉니다.
두 번째 sed 명령은 "["로 시작하는 줄을 찾고 끝에 "]"를 추가합니다.
echo -e "hello//goodbye\nhello[goodbye\n//hello_and_goodbye\n[hello_and_goodbye"|\ sed 's~//~[~g;/^\[/s~$~]~'