スクリプトから見つかったファイルを "ファイルサイズ - パス"としてリストしようとしています。私のスクリプトがフィルタリングする必要があるのは、2つのパラメータを与え、最初のパラメータが "-u
"であると、ファイルの先頭に "Priority"という単語が含まれているファイルです。 (2番目のパラメータは常にディレクトリです)。grepと目的の結果を見つけるための組み合わせ
これまでのところ、私はこれがあります。
for i in `grep -ril ^Prioridad "$1"`
do
echo | ls -lh `grep -ril ^Prioridad "$i"` | cut -d" " -f5,9
done
戻り値:それは私がこれを実行すると、ファイルの端がしかしラインで7
を期待していなかったことを返す
if [ "$1" = -u ]
for i in `grep -ril ^Priority "$2"`
do
echo | ls -lh `grep -ril ^Priority "$i"` | cut -d" " -f5,9
done
fi
を望ましい結果。
どのようにして最初の結果を得ることができますか?-u
を第1のパラメータとディレクトリとして使用します。
私は '検索' への参照を見ていないのですか?コードの残りの部分はむしろ厄介です。他のディストリビューションで実行すると、カットがあなたの後ろのものを見せてくれないかもしれません。 forループ内のgrepの目的は何ですか?すでに '$ i'にファイル名が格納されています。 – grail
[なぜ* ls'を解析しないのですか?](http://unix.stackexchange.com/questions/128985/why-not-parse-ls) – Cyrus
[];それで< - はかもしれません –