"find ... -exec $COMMAND {} +"에 대한 마지막 호출에 매개변수를 추가합니다.

"find ... -exec $COMMAND {} +"에 대한 마지막 호출에 매개변수를 추가합니다.

다음 줄과 같은 것을 사용하여 ctag를 생성하고 있습니다.

find -iname '*.[hc]' -exec ctags -a --sort=no {} +

결과적으로 태그가 정렬되지 않습니다. 이를 위해 나는 사용하고 있습니다

sort -u -o tags tags

궁금해요. 이 모든 것이 에 완료될 수 있나요 find? 즉, 모든 용도 find로 사용하도록 지시할 수 있습니다.--sort=no하지만마지막으로 ctags가 호출된 때는 언제입니까 --sort=yes?

현재 방식으로 충분하지만( 어쨌든 ctags내부적으로 호출됩니다 sort -u -o $TAGFILE $TAGFILE) 이것이 가능한지 궁금합니다.

답변1

find나는 그것이 불가능하다고 확신합니다 . -exec {}고전적인 print-to-를 사용하는 경우 xargs (파일 이름에 공백, 달러 기호 또는 따옴표와 같은 셸 특수 문자가 포함되어 있지 않거나 이를 보호하는 데 어려움을 겪는 경우) 마지막 group= 줄을 식별하고 "수정"할 수 있습니다 :

find -iname pattern | xargs echo ctags -a --sort=no | sed '$s/sort=no/sort=yes/' | sh 

하지만 암묵적으로 묻는 것처럼 실행할 수 있는데 왜 귀찮게 합니까 sort?

관련 정보