Last active
March 11, 2016 02:40
-
-
Save hnishi/f1dcf5876d32e9c6f23b to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
comm=ls #コマンド | |
echo "ARGUMENTS:" $@ #"$@"には引数全部のリストみたいなのが入っている | |
echo "NUM OF ARGUMENTS:" $# #"$#"には引数の数が入っている | |
###引数がない場合に終了する処理 | |
if [ 0 == $# ];then #もし引数の数が0なら終了 | |
echo "No argument, exit" | |
exit 1 | |
fi | |
echo "###(1)引数全てが当てはまるファイルのみ表示" | |
$comm > zzz.tmp #いったんlsの出力をファイルに書き出す | |
for i in $@ #全ての引数でループする | |
do | |
#echo $i | |
grep $i zzz.tmp > yyy.tmp #同じファイルに書き込めないので一時ファイルをもう一個使う | |
mv yyy.tmp zzz.tmp #grepの結果をzzz.tmpファイルに上書き | |
done | |
cat zzz.tmp #結果の標準出力 | |
rm zzz.tmp #一時ファイルの削除 | |
echo "###(2)引数のどれかが当てはまるファイルの表示" | |
for i in $@ #全ての引数でループする | |
do | |
#echo $i | |
$comm |grep $i >> zzz.tmp #引数の要素1個ずつgrepする | |
done | |
sort zzz.tmp | uniq #ソートされたファイルの重複する行を除去して表示するコマンドuniq | |
rm zzz.tmp | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment