[CodeFest]코드베틀 문제 - 다단계 디렉터리 밑에 원하는 파일 외에 지우기
글쓴이: jachin / 작성시간: 토, 2005/12/10 - 8:59오후
http://ftp.sayclub.com/pub/X/KDE/stable/3.5/src/kdebase-3.5.0.tar.bzip 파일을 받아서 압축을 푼 후 .desktop 확장자를 갖는 파일 외에 다른 파일을 지우십시오. 단, 디렉터리 구조는 그대로 남겨두고 .desktop 파일 외에 모든 파일은 다 지워주십시오.
Forums:
쉘 스크립도 끼워준다면,find tests -type f | gr
쉘 스크립도 끼워준다면,
find tests -type f | grep -v '\.desktop$' | xargs rm
이 문제를 보고 생각이 들었던 것이, 기왕이면 kde svn에서 ko m
이 문제를 보고 생각이 들었던 것이, 기왕이면 kde svn에서 ko message 파일들을 가져와서 디렉토리 그대로 생성을 하고 그 안에 있는 message들을 msgid, msgstr, where(include all #) 으로 한 파일에 저장하던지 해서, msgid 알파벳 순으로 모니위키 페이지를 만들어 주는 프로그램을 작성하면 생산적이지 않았을까 하는 가였습니다.
계속 접속이 안되서 이제서야 글을 올리게 되었는데 타이밍을 놓친 것 같네요.
----
I paint objects as I think them, not as I see them.
atie's minipage
[code:1]find | grep '\.desktop$' | xargs
find | grep '\.desktop$' | xargs zip temp.zip && rm -rf kdebase-3.5.0 && unzip temp.zip && rm temp.zip
대충 이렇게 해서 1등 먹었습니다 :)
----
http://www.planetmono.org
Re: [CodeFest]코드베틀 문제 - 다단계 디렉터리 밑에 원하는 파일 외에 지우기
우연히 2등했습니다.
다른 분보다 다운로드를 빨리한 것이 주효했습니다. :)
문제가 너무 약했네요 >:>빠르기는 잘 모르겠지만 2등
문제가 너무 약했네요 >:>
빠르기는 잘 모르겠지만 2등이 더 나은 풀이법 아닌가 합니다.
사실, find 출력 결과에 xargs 를 그냥 쓰면 약간의 버그가 있습
사실, find 출력 결과에 xargs 를 그냥 쓰면 약간의 버그가 있습니다. :-)
'a b' 라는 파일이 있을 때, 저렇게 하면 rm 'a b' 가 되는 것이 아니라 rm a b 이렇게 되기 때문에, 파일명에 공백이 포함되어 있을 경우 제대로 지워지지 않습니다.
따라서
find -type f -not -iname '*.desktop' -print0 | xargs -0 rm
로 하는게 좋습니다.
인자 구분을 공백이 아니라 \0 문자로 하게 합니다.
또한, find 로 찾은 파일이 너무 많을 경우, 명령행 인자 길이의 한계를 초과하기 때문에, xargs 로는 지워지지 않습니다.
따라서
find -type f -not -iname '*.desktop' -exec rm '{}' \;
이 정도가 괜찮지 않을까 싶군요. ;)
물론, 보통의 경우, 위의 2가지 제약은 별 쓸모가 없습니다. 예제 상황에서도 마찬가지구요.
----
블로그 / 위키 / 리눅스 스크린샷 갤러리
zip로 압축해서 다시 푸는 제 방식은 그냥 기발하게 만들려고 일부러 꼬
zip로 압축해서 다시 푸는 제 방식은 그냥 기발하게 만들려고 일부러 꼬아서 코드를 짠거고.
kde 소스트리에 공백 들어가는 파일 이름은 하나도 없어요...
----
http://www.planetmono.org
[quote="atie"]이 문제를 보고 생각이 들었던 것이, 기왕이면
이번 코페 때 문제를 내면서 '분명 쉽긴 할텐데... 다들 쉘 스크립트의 소중함을 모르니... 혹 누군가 쉘 스크립트를 잘 쓰면 모두들 쉘 스크립트의 소중함을 알 것이다.' 라는 취지로 문제를 냈습니다. ^^a
리눅스를 쓰면서 쉘 스크립트에 대한 중요성을 자꾸 까먹게 되어서 저 자신에게도 경각심을 일깨우고자 문제를 냈습니다...
이번엔 프로젝트 시간도 짧고, 행사 진행 시간도 짧을 것 같아서 일부러 '특별한 방법'을 시상범위에서 제외했지만...
tokigun의 방법을 기대하고 있었어용. 앗흥...
만약 이 문제를 윈도우즈에서 해결하려고 했다면 어땠을까요?
Linuxbox 설치한다거나, cygwin, bash 쉘을 사용하지 않고요...
컴파일된 프로그램을 생산할 수 있는 언어를 사용할 때의 코드도,
이번 시상 범위에 넣을 걸 그랬습니다. orz
시간이 없어서 대충 보고 지나갑니다. 나중에 집에 가서 자세히 고민해야겠
시간이 없어서 대충 보고 지나갑니다. 나중에 집에 가서 자세히 고민해야겠습니다. 이런 문제들 괜찮네요. ^^ 문제 내어 주셔서 감사합니다. :)
좀 푸신 분들 쉘 코드 설명좀 부탁드립니다.저같은 쌩초보는 저 코
좀 푸신 분들 쉘 코드 설명좀 부탁드립니다.
저같은 쌩초보는 저 코드 이해하기가 어렵습니다. :cry:
P.S : MAN페이지 참조하라는 말은 정중하게 거절하겠습니다.
-----------------------------------
Playlist :
이번에 답이 많이 안 나온 이유는느려터진데다가 시도때도 없이 끊기
이번에 답이 많이 안 나온 이유는
느려터진데다가 시도때도 없이 끊기는 인터넷 회선 때문이었을겁니다.
다들 소스코드 다운로드받는데 대부분의 시간을 소비한 탓이겠죠.
저야 뭐 다행히 소스코드가 portage distfiles에 들어있어서 다운로드없이 바로 코딩에 들어갈수 있었습니다.
(순전히 운이 좋은거죠)
----
http://www.planetmono.org
[quote="sigsegv"]이번에 답이 많이 안 나온 이유는느
하지만... IRC IP 충돌은 해결할 수 없을것 같아요. orz 직접 irc 서버를 돌리기 전까진...
[quote="jachin"][quote="sigsegv"]이번에 답이
행사 며칠전에 관리자분들께 그 해당 아이피를 일시적으로 클론킬 갯수를 늘려달라고 하세요.
저도 학교에서 IRC를 쓰는데, IRC접속자가 의외로 수가 많아서 클론킬 갯수를 10개인가로 늘렸습니다.
───────────────────────
yaourt -S gothick elegant
khris'log
댓글 달기