나는 간단한 bash 스크립트를 작성 중이고(실제로 이 작업을 수행하는 방법을 배우고 있음) 이 함수가 echo와 sed를 사용하고 정확히 동일한 출력을 반환하기를 원합니다. sed로 솔루션을 찾았는데 콘솔에서는 작동하지만 스크립트 내부에서는 작동하지 않습니다. (스크립트는 sudo로 호출됩니다. 어쩌면 그게 중요할 수도 있습니다)
이것은 내 기능입니다.
function strip
{
echo "$1" | grep -oP '[a-zA-Z0-9\+\-\=\ ]+' | head -n 1;
}
이것이 작동하는 방식입니다
입력: "-벽"
출력: "-벽"
입력: "-O3%## -Wall"
출력: "-O3"
입력: "%#$#$"
출력: ""
누구든지 sed를 사용하는 것이 어떤 것인지 보여줄 수 있습니까?
답변1
echo ___abc___ | sed 's/^.*\(abc\).*$/\1/'
abc