가져온 후 줄에 'import packagename'을 삽입해야 합니다. 특정 단어가 포함된 파일. 내가 시도하는 것:
find iOS/Chat \
-type f \
-name "*.swift" \
-exec gsed -e "/Behavior/ " -e "20a import RxSwift" -i {} +;
또한 시도했습니다: -exec gsed -e "/Behavior/20a import RxSwift" -i {} +;
이 건설은 작동하지 않는 것 같습니다.
gsed - gnused, bsd sed로 작업하는 방법을 찾지 못했습니다. 맥 OS.
UPD: 근접한 결과
find iOS/Chat -type f -name "*.swift*" -exec grep -iHn "Behavior" {} \; | cut -d: -f-1 | xargs gsed -i '/import Foundation/a import RxSwift'
단점:
- gsed -i '0,/import/a import RxSwit'`를 설정하면
gsed -i '/import/a import RxSwift' its called for each import enter line. I want only first. Something like:
작동하지 않습니다...
아직도 조사 중....
답변1
좋아, 해결책을 찾았습니다.
brew install gsed
- 필요하다
find ./ \
-type f \
-name "*.swift*" \
-exec grep -lHn "Reachability" {} \; | cut -d: -f-1 | xargs gsed -i -e '/import/{i\import RxReachability' -e ':a;n;ba}'
첫 번째 발생 방법 sed
:https://stackoverflow.com/a/9970915/887325
find
- 텍스트가 포함된 모든 파일을 찾습니다Reachability
.cut
- 유일한 경로xargs
- 인수로 사용되는 경로 파일gsed
gsed
- 첫 번째import
줄에 {i\가 포함되어 있음을 찾습니다. - 새 줄 삽입:import RxReachability
이 답변이 90세인 나에게 도움이 되기를 바랍니다.