質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
sh

shは、UNIX系OSのシェル操作の1つであり、最も基本的なシェルのことです。

zsh

zshは、UNIX系OSのシェルの1つです。 cshやksn系のコマンドライン編集機能も実装されたシェルです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1027閲覧

ディレクトリ内のpyファイルを再帰的に探索してコマンドを実行したい

退会済みユーザー

退会済みユーザー

総合スコア0

sh

shは、UNIX系OSのシェル操作の1つであり、最も基本的なシェルのことです。

zsh

zshは、UNIX系OSのシェルの1つです。 cshやksn系のコマンドライン編集機能も実装されたシェルです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/03/07 20:17

編集2020/03/08 00:12

~/dev/cppr_pythonというディレクトリ内に、各競技プログラミングサービス毎のディレクトリがあり、それぞれに大量の.pyファイルが含まれています。
フォーマッタの設定を変えたので全てのファイルを整形し直したいのですが、下記のスクリプトでは上手くいきません。
どうも、"${FILE}"./temp.pyのように./から始まるためにblack(フォーマッタ)がパースに失敗するようです。
手動でblack -c temp.pyとすると正常に動作しました。
どう直せば良いでしょうか?

sh

1#!/bin/zsh 2 3find . -type f -name "*.py" | while read FILE 4do 5 black -c "${FILE}" 6done

err

1~dev/cppr_python 2> zsh reformat.sh 3~~~ 4black.InvalidInput: Cannot parse: 1:1: ./temp.py

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

-cオプションが意図不明です。勘違いでは?

sh

1find . -type f -name "*.py" | while read FILE 2do black "${FILE}" 3done

より簡単に書くと、blackは複数ファイルを指定できるので、

sh

1find . -type f -name "*.py" | xargs black

投稿2020/03/08 00:40

otn

総合スコア84540

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/03/08 01:08

ありがとうございます。 -cオプションはただの勘違いでした。 質問の意図とは逸れるのですが、私はコピペ以外でシェルスクリプトを書いたことがほとんどありません。 初心者向けの書籍や体系だった資料などをご存知でしたら、教えていただけませんか?
otn

2020/03/08 01:29

書籍・資料は知りません。 Amazonで評判の良い本を探すか、大きな本屋で立ち読みするかくらいでしょうか? 印象ですが、本のタイトルに「Linux」じゃなくて、「UNIX」と入っている方がよい気がします。 あとは、「プログラミングに関係のない質問」という低評価覚悟でここで書籍を質問するか。
退会済みユーザー

退会済みユーザー

2020/03/08 06:24

なるほど、UNIXですね。 書店をあたってみようと思います。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問