grep에 대한 도움 [[: alpha :]]* -o
문제
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"
제휴하지 않습니다 StackOverflow