2014-03-28 2 views
-1

안녕하세요 저는 sed를 배우고 있으며 제 연습 문제 중 하나를 해결하고 싶습니다. 하나 이상의 대문자가 포함 된 행의 단어를 삭제해야한다고 나와 있습니다.하나 이상의 대문자가 포함 된 단어 삭제

입력 예 :

Hi im NEW here need help NOw 

출력 :

im here need help 
+0

입니다 : 여기

echo Hi im NEW here need help NOw | xargs -n1 | sed '/[A-Z]/d' | xargs im here need help 
Selcuk

+0

나는 대문자를 모두 포함하는 단어 만 삭제하는 방법을 알고 있지만 다음과 같은 것은 아닙니다 ... – user3473968

+0

대문자가 모두있는 단어를 삭제하고 거기에서 도울 수있는 방법에 대한 코드를 보여주십시오. – Adam

답변

1

는 방법?
+0

+1 lol - 화려한! = 어쨌든, 그것은 순수한 sed가 아니지만 ... 정말 좋은 :) – jm666

+0

대답을 주셔서 감사합니다 – user3473968

0

이 수행해야

echo "Hi im NEW here need help NOw" | awk '{for (i=1;i<=NF;i++) if ($i!~/[[:upper:]]/) printf "%s ",$i;print""}' 
im here need help 

이 테스트 하나 개는 필드. 모든 필드를 인쇄해도 대문자가 포함되지 않습니다. 당신의 노력이 지금까지 무엇

$ echo "Hi im NEW here need help NOw" | sed -r ':a;s/[a-z]*[A-Z]+[a-z]* *//;ta' 
im here need help 
+1

문제는 sed – user3473968

+0

@user3473968에 질문을 쓰도록 요청하는 것입니다. Mark의 응답은'sed'가 아닙니다. 'sed' 또는 하나의 명령만으로 모든 것이 쉽게 해결 될 수는 없습니다. – Jotne

1

sed에서 할 수있는 방법은 다음과 같습니다 여기
+1

+1 순수한 sed 솔루션; 또한''문자가 포함 된 토큰으로도 제대로 작동합니다. – mklement0

+0

Thanks @ mklement0. 내가 선호하는 도구는 아니지만 가끔 제공되는 문제가 마음에 든다. ':)'. –

+1

잘 작동합니다. – user3473968

관련 문제