コード
git status -s | awk '/^ M/{print $2}' | xargs -r npx eslint --fix
git status -sで変更があるファイルの一覧を取得し、awk '/^ M/{print $2}'で変更があるファイルのパスだけを取り出して、xargs -r npx eslint --fixでESLintの--fixを実行する。
変更があるファイルの一覧
git statusに-sオプションをつけると、変更があるファイルの一覧が短縮されて表示される。
M src/components/Button/index.tsx
M src/components/UI/Layout/Sidebar.tsx
M src/pages/index.page.tsx
ファイル一覧を整える
先頭のMが邪魔なので削除する。awk '/^ M/{print $2}'で取得したファイル一覧を整える。
src/components/Button/index.tsx
src/components/UI/Layout/Sidebar.tsx
src/pages/index.page.tsx
eslint --fixを実行
ファイル一覧をxargsで渡して、xargs -r npx eslint --fixでESLintの--fixを実行する。xargsの-rオプションは、標準入力が空の場合にコマンドを実行しないようにするオプション。
xargs -r npx eslint --fix
npx eslintだけではなくstylelintやprettierなどのツールにも同じように適用できる。