
긱뉴스에서 이 내용을 보고 당장 해봐야겠다고 생각이 들었다..
맥이라 brew로 간단하게 설치했다.
brew install f2
설치가 끝나면 바로 f2 명령어를 쓸 수 있다.
실습을 위해 폴더를 하나 만들자.
mkdir test_f2
cd test_f2
그 안에 테스트용 파일 몇 개도 만들어둔다.
처음에는 requirements.txt 파일을 hi.md로 바꿔본다.
f2 -f 'requirements.txt' -r 'hi.md'
실행하면 아래처럼 dry run 결과가 나온다.
| requirements.txt | hi.md | ok |
dry run: commit the above changes with the -x/--exec flag
여기서 -x 옵션을 붙이면 실제로 바뀐다.
f2 -f 'requirements.txt' -r 'hi.md' -x
이번에는 .md 확장자를 .txt로 바꾸고 싶었다.
처음엔 \1.txt를 썼더니 그대로 문자열로 인식돼서 충돌이 났다.
f2 -f '^(.*)\.md$' -r '\1.txt' -x
결과:
| hi.md | \1.txt | ok |
| note.md | \1.txt | overwriting new path |
| note1.md | \1.txt | overwriting new path |
전부 \1.txt로 바꾸려 해서 충돌 발생.
찾아보니 f2에서는 그룹 참조를 \1 대신 $1로 쓰는 게 안전했다.
f2 -f '^(.*)\.md$' -r '$1.txt' -x
이제는 잘 동작한다.!
hi.md → hi.txt
note.md → note.txt
note1.md → note1.txt
간단하지만 강력한 툴이라, 앞으로 파일 정리할 때 자주 쓸 것 같다.