2017-10-23 4 views
1

비록 이것이 간단한 작업이긴하지만 약간의 문제가 있습니다.특정 문자열 다음에 오는 모든 것을 제거하십시오.

샘플 입력

$ cat file.txt 
Brown Potatoes with Cheese 
Yellow Potatoes with Sugar and Cheese 

내가

와 문자열 후 모든 것을 제거 sed를 사용하고 싶습니다 그래서 출력은

Brown Potatoes 
Yellow Potatoes 

것 나는이 정규식을 시도했습니다 하지만 작동하지 않는 것 같습니다.

sed -i -e "s/with.*//g" file.txt 

어디서 잘못 되었나요?

+0

'-i' 옵션을 제거하면 올바른 출력이 표시됩니까? 이 경우 https://stackoverflow.com/questions/5694228/sed-in-place-flag-that-works-both-on-mac-bsd-and-linux ...를 참조하십시오. 작은 제안 사항이 있습니다. 'with'도 전에 공간을 제거하고 싶을 수도 있습니다. – Sundeep

+0

-i 옵션을 제거하면 올바른 결과를 얻습니다. 나는 당혹 스럽다. –

+0

알았어요. 감사! –

답변

1
[email protected]:~$ sed -i.bak 's/with.*//g' file.txt 
[email protected]:~$ cat file.txt 
Brown Potatoes 

Yellow Potatoes 
[email protected]:~$ 
+0

고마워요! 그게 전부 야. –

+0

이 질문에 대한 답변을 얻은 경우 대답으로 받아들입니다. – mathB

+0

아, 죄송합니다. 나 여기 처음이야. 받아 들였어. 다시 한번 감사드립니다. :) –

관련 문제