出力の最初のフィールドに指定された数値より大きい行をgrepしようとしています。この例では、その番号は755
です。最終的に、私がやっていることは、stat -c '%a %n' *
を使って755
より大きい(そして等しくない)特権を持つすべてのファイルをリストアップしようとしていて、この最終的なリストを得るためにgrep'ing(あるいはsed'ing?これがどのようにして最高の成果を収めることができるのか?与えられた数字より大きい数字のグレープ・ライン
答えて
この試してください:あなたは自分の最終的な出力にファイル名をしたい場合は、特権番号をスキップし、
stat -c '%a %n' *|awk '$1>755'
をできます
stat -c '%a %n' *|awk '$1>755{print $2}'
EDIT
実際にあなたが可能性awk内でchmod
を実行してください。ユーザーがawk行を実行する際に、それらのファイルを変更する権限があることを確認する必要があります。
stat -c '%a %n' *|awk '$1>755{system("chmod 755 "$2)}'
ここでも、ファイル名にスペースがないものとします。
あの小さなアドオンをありがとう。私はフィールド2を切り抜けるつもりでしたが、あなたのパイプは1つ少ないパイプで実現します! – user2150250
ファイル名にスペースがないように注意してください。 –
@ user2150250注:私の2番目のawk one-linerは、ファイル名にスペースがないことを前提としています。 – Kent
私はawk(1)
を使用したい:
stat -c '%a %n' * | awk '$1 > 755'
awk
パターンが最初のフィールドは、行または別の何かのサブセットを印刷したい場合は、アクションを追加することができます755次に大きいの線と一致し、 (@ Kentの答えを参照)。
どちらもgrep
でもsed
でも演算には適していません。 awk
が助けになることがあります(残念ながら私はそれを知らない)。しかしfind
は、あまりにも、ここでは便利なことができることに注意してください:
-perm mode
File's permission bits are exactly mode (octal or symbolic).
Since an exact match is required, if you want to use this form
for symbolic modes, you may have to specify a rather complex
mode string. For example -perm g=w will only match files which
have mode 0020 (that is, ones for which group write permission
is the only permission set). It is more likely that you will
want to use the `/' or `-' forms, for example -perm -g=w, which
matches any file with group write permission. See the EXAMPLES
section for some illustrative examples.
-perm -mode
All of the permission bits mode are set for the file. Symbolic
modes are accepted in this form, and this is usually the way in
which would want to use them. You must specify `u', `g' or `o'
if you use a symbolic mode. See the EXAMPLES section for some
illustrative examples.
-perm /mode
Any of the permission bits mode are set for the file. Symbolic
modes are accepted in this form. You must specify `u', `g' or
`o' if you use a symbolic mode. See the EXAMPLES section for
some illustrative examples. If no permission bits in mode are
set, this test matches any file (the idea here is to be consis‐
tent with the behaviour of -perm -000).
だからあなたのために働くことができるものです:あなたはファイル名のみが必要な場合
find . -perm -755 -printf '%m %p\n'
ちょうど
-printf
一部を除去。
- 1. 数字より大きいPythonリスト
- 2. 与えられた数字の一意の数を計算するExcel関数
- 3. 与えられた数字に向かって丸めます
- 4. 与えられた文字/数字で始まるベクトル内の要素
- 5. 大きい数字のmodf()
- 6. python:与えられた文字列からのランダムな文字
- 7. 常にrand()によって与えられた数字を返します
- 8. PHP:与えられた文字列からサブ文字列を取り出す
- 9. 文字列がInteger.MAX_VALUEより大きい文字数を保持できます
- 10. python/numpyのランダムな場所に与えられた数字の行列
- 11. ルビーのサイドバイサイド文字の最大数を数えよう
- 12. 正解が与えられていない場合、大文字と小文字を繰り返します。
- 13. NSRegularExpression、このような文字列が与えられた文字列
- 14. 字句索引で与えられた数値順列を求めるアルゴリズム
- 15. どの組み合わせがあなたに与えられた値を与えるのかを決める数字のリストを与えてください
- 16. Xより大きい数字のためにpdfを検索する方法
- 17. 与えられた文字列が現れる2列からインスタンスの数を数えるにはどうすればよいですか?ここ
- 18. 与えられた数字のリストからJavaで乱数を生成する方法
- 19. PHPは、例えば、文字列、与えられた配列
- 20. テキストボックスにシンボルよりも小さい/より大きい数字を入れた場合(< and >)
- 21. Oracleでは、数字の集合の80%より大きい数字を見つける
- 22. 膨大な数の数字から最大の数字を引き出す方法は?
- 23. n番目の文字を置き換える、与えられたシンボル
- 24. 与えられた順序に基づいて数字の配列を並べ替える
- 25. Re:バイナリ検索ツリーと数字が与えられていると、ノードのデータが与えられた番号に追加されたパスを見つける
- 26. 与えられたベクトルから最大の結果を得るPHP関数
- 27. 返され、次のJSON文字列が与えられたJava
- 28. TextAreasの行ごとに最大文字数制限を与える
- 29. リスト内の指定された数字よりも大きい要素の出現をどのように数えることができますか?
- 30. NSDateFormatterから与えられた値のときの文字列解読
'755'は実際にはビットのシーケンスを表す8進数なので、「より大きい」とはどういう意味ですか? '666'は全員に書き込みアクセス権を与えます。それは "755"よりも大きいのですか? '755'は' '666'よりも大きいですか? –
OS Xのユーザ: 'stat -c '%a%n' *'(Linux)に相当するのは 'stat -f '%Lp%N' *' ' – mklement0
です。 awk? – Soncire