여러 개의 부정확한 패턴의 파일 이름을 지정하는 기록기 'nf'
개시하다
Advent Calendar에 liner를 소개하는 것도 좀 그렇지만 예전에 젊은 엔지니어에게 알려주면 감탄할 것 같아서 소개해 드릴게요.그나저나 제 주변 감독님들도 많이 쓰세요.
즉시 실례
git의 변경은 다음과 같다.
그중 dd
csv/battle_comments.csv
,csv/battle_periods.csv
,csv/battles.csv
3개만 생각하고 있습니다.이 경우 일반적으로 다음 명령줄이 사용됩니다.
$ git add csv/battle_comments.csv csv/battle_periods.csv csv/battles.csv
기나긴 결말!!!파일 이름의 정확한 복제는 매우 고통스럽다.어댑터로 생략해서 쓸 수도 있지만 귀찮아요.편집기를 하나하나 시작하면 명령선을 조립하는 것도 번거롭다.나는 아래와 같다.
$ git add `awk '{print $NF}'`
위 작업을 수행하면 입력을 기다리기 때문에 add를 원하는 파일 이름을 포함하는 줄을 복사하고 마지막으로 커서가 줄의 맨 위에 있는 상태에서 Ctrl + D를 누르십시오.순간적으로 ^D가 나타나면 알림을 되돌려줍니다. 세 파일은dd상태가 됩니다.실행 중인 캡처를 붙여넣습니다.
동작 원리는 표준 입력법에 따라 마지막 필드
print $NF
만 꺼내서 셸의 명령어 교환 기능으로git에 전달하는 것이다.의외로 많은 사람들이 셸의 지령 교환 기능이 줄을 빈칸으로 바꾸는 것을 몰랐는데, 이것이 왜 이렇게 하는지 이해하기 어렵다.
명령화를 시도하다
매번 위와 같이 타자를 칠 수 있지만, 타자량을 조금 줄이기 위해서
git add `nf`
실행만여러 가지 방법이 있지만 얻기 어려운 기회이기 때문에 셸 스크립트로 실현하면 몇 개의 필드를 지정할 수 있습니다.alias (awk, 필드 번호 지정 불가)
alias nf='awk "{print $NF}"'
alias (단선 루비, 필드 번호 지정 불가)
alias nf="ruby -a -n -e 'puts "'$F'".last'"
셸 스크립트(awk, 필드 번호 지정 가능)
#!/bin/sh
if [ "$1" != "" ] ; then
exec awk '{print $'$1'}'
else
exec awk '{print $NF}'
fi
물론 git 이외에도 조합해서 사용할 수 있습니다.
나도 이것을 rm 명령과 조합해서 untracked 파일을 삭제하는 데 사용할 것이다.
@sachaos와 이야기할 때, 나는
git clean
도 괜찮다는 것을 안다.그렇긴 하지만 지령의 조합을 통해 해결할 수 있다면 다른 응용도 효과적일 것이다.
끝맺다
단순한 연주자일 뿐이지만 뭔가 참고가 된다면 좋겠네요.
Reference
이 문제에 관하여(여러 개의 부정확한 패턴의 파일 이름을 지정하는 기록기 'nf'), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/takakiNG/items/feb3a9c592e9de388f86텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)