2013-03-25 5 views
0

폴더와 파일이 많은 폴더가 있습니다. 다음을 찾아서 바꾸고 싶습니다.재귀 적으로 찾기 및 바꾸기

  • 이전 : 'my_folder.'
  • 은 후 : ''(그것이 작동하지 않았지만)
  • 여기

내가 뭘하려 (공백)

find ./ -type f -exec sed -i ‘s/my_folder.//’ {} \; 

올바른 명령은 여기에 무엇입니까?

+3

는 아스키 따옴표를 사용했는지 확인하는 데 도움이

for file in $(find ./ -type -f) do cat ${file} | sed -e "/my_folder./s/my_folder.//" > MyTempFile cat MyTempFile > ${file} # use this instead of 'mv' command to preserve file perms done 

희망을 도움이 될 수 있습니다. – kev

+2

@ David542 : 어떤면에서 실패입니까? sed 명령이 파일의 이름을 바꾸거나 그 안의 내용을 변경하기를 원하십니까? – tink

+0

http://theunixshell.blogspot.com/2012/12/find-and-replace-string-in-all-files.html – Vijay

답변

0

당신이 찾고있는 명령과 같은 좀-그렇다고 뭔가 :

find ./ -type f -exec sed -e "/my_folder./s/my_folder.//" {} \; 

하지만 당신은 얻을 것이다 모두가 없다 다시 파일에 기록 된 화면에 인쇄 출력이다. 이와 같은 것을 성취하기 위해서는 필자 의견으로는 한 줄 이상의 코드가 있어야하지만 여기서도 "의견"이 키워드가됩니다. 이런 식으로 뭔가는이

+0

고양이 쓸모없는 사용 :'sed -e "/my_folder./s/my_folder.//"<$ file' – Jens