指定したパーミッションのファイルを変更する、一気に
探すのはfind
、リスト実行するxargs
、変更はchmod
$ find <path> -perm /a+x | xargs chmod -x
permオプション
a
は全部。u
ユーザー、g
グループ、o
その他。
または数字で指定644
/
は何れか、-
は全てにマッチ。
/a+x
か/111
でユーザー、グループ、その他の何れかに実行許可があるファイルを探す。
-a+x
か-111
でユーザー、グループ、その他の全てがxなファイルを探す。
リスト実行
対象のファイルを確認したければls -l
してみる。
$ finx <path> -perm /a+x | xargs ls -l
やってやったぜ
なぜか無用に+xになってるファイルを-xした。
$ find . -perm /a+x -name *.h \
-or -perm /a+x -name *.c \
-or -perm /a+x -name *.cpp
| xargs chmod -x
findの複数検索条件をもっとちょっとスマートに書けないの?
-exec {} ;よりxargsが推奨みたい qiita.com
こっちの方がスマート? qiita.com
find: paths must precede expression
*
を使うとき、"
で囲まないと出る(場合がある)
$ find . -name "*.pdf"
*
がfindの引数になる前にシェルがパス名展開してしまう。
EXPECT_NE(NULL, ptr)、ASSERT_NE(NULL, ptr)はサポートしていない
EXPECT/ASSERT_NE(NULL, ptr)
はサポートしていない。
EXPECT_EQ(NULL, ptr); // OK EXPECT_NE(NULL, ptr); // コンパイルエラー
EXPECT_TRUEで代用する。
EXPECT_TRUE(NULL != ptr); // OK
discards qualifiers [-fpermissive]
error: discards qualifiers [-fpermissive]
constなインスタンスからconstじゃないメソッドを呼び出してる。 つまり、内容を書き換えちゃダメなインスタンスから、書き換えちゃうかもしれないメソッドを呼び出してる。
#include <string> class CString : public std::string { public: //readability // hint: empty() const noexcept bool isEmpty() { return empty(); } } ... const CString a; a.isEmpty(); // discards qualifiers // constなのに!constメソッドを呼び出してる!! // メソッドをconstにして解決する // またはインスタンスをconstにしない bool isEmpty() const { return empty(); }
gitスタイルガイド
https://github.com/objectx/git-style-guide
ブランチ名をキャメルケースにするか、ーハイフンか、_スネークどれが良いか? スタイルガイドに習いハイフンにする。
f/tidy-up
参考
コミット間ではなく、別々のファイル差分を見たい
$ git diff --no-index -- path1 path2
pathはファイルでもフォルダでも可。diffコマンドより見やすいよね。