문제

file.txt는 다음을 포함합니다.

##w##

##wew##

Mac 10.6, Bash Shell 사용, 명령 :

cat file.txt | grep [[:alpha:]]* -o

출력은 없습니다. 해시 신호 내부의 텍스트를 추출하려고합니다. 내가 뭘 잘못하고 있죠?

도움이 되었습니까?

해결책

(이 인스턴스에서는 고양이의 출력을 grep에 배관하는 대신 grep의 인수로 파일 이름을 전달하는 것이 더 나은 실습입니다. grep PATTERN file 대신에 cat file | grep PATTERN.)

이 명령을 실행하기 위해 어떤 쉘을 사용하고 있습니까? 나는 당신의 문제가 쉘이 별표를 와일드 카드로 해석하고 글로그 파일을 시도하고 있다고 생각합니다.

예를 들어 패턴을 인용 해보세요 grep '[[:alpha:]]*' -o file.txt.

Linux 시스템에있는 Grep 버전에서는 이것이 제대로 작동한다는 것을 알았지 만 Mac의 Grep에는 명령이 필요합니다. grep -E '[[:alpha:]]+' -o file.txt.

다른 팁

sed 's/#//g' file.txt

/SCRIPTS [31]> cat file.txt
##w##
##wew##

/SCRIPTS [32]>  sed 's/#//g' file.txt
w
wew

bash> 3.1이있는 경우

while read -r line
do
  case "$line" in
   *"#"* )
        if [[ $line =~ "^#+(.*)##+$" ]];then
            echo ${BASH_REMATCH[1]}
        fi
  esac    
done <"file"
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top