2017-11-16 4 views
0

現在、bashのスクリプトで作業しています。開始位置とファイル名を入力してからファイルを検索します。可能であれば、私は一度見つけたファイルをcatしたいと思います。ここに私がこれまで持っていたスクリプトは、誰かが私が非常に感謝するであろう機能をどのように含めるかを指摘している場合です。また、まだUnixの初心者ので、私と一緒に負担してください:)ファイルやディレクトリを見つけるために検索機能を実装するにはどうすればいいですか?

#!/bin/bash 
function press_enter 
{ 
    echo"" 
    echo -n "Press Enter to continue" 
    read 
    clear 
} 
selction= 
until [ "$selection" = "3" ]; do 
echo -e "Where would you like to search 
1- Root 
2- Home 
3- Exit 

Enter your choice ---> \c" 
read selection 
case $selection in 
    1) cd/; press_enter ;; 
    2) cd /home ; press_enter ;; 
    3) echo "Have a nice day!" ; exit ;; 
esac 
done 
+0

あなたは 'find'に精通していますか? – lxop

+0

私は、ファイルを検索するためにBashでfindコマンドを使用する以外に、findコマンドで多くのことをする必要はありませんでした。私が書いているスクリプトでどのように使うのか分かりません。 – Lilcomet

+0

この宿題はありますか? – mattdm

答えて

0

を1つのコマンドとしてfindを使用するか、またはスクリプトでfindを駆動するために、あなたの選択入力を使用することができます。

find $where_selection -name $what_selection 
# with cat: 
find $where_selection -name $what_selection -exec cat {} \; 

-exec cat {}findから現在見つかったファイルのパスと{}を置き換えます。

+0

これは、私が読んでいるものを作ることにしたものよりずっと簡単なようです。しかし、私が悩んでいる最後の部分は、探しているファイルのようにユーザー入力を取得する方法です。だから、私はfindを使うときに入力を要求することができます。 – Lilcomet

+0

私はあなたが正しい道にいると思います。別の変数を読むだけです。 'read where_selection; what_selectionを読んでください。エコー "find $ where_selection -name $ what_selection" ' – JJRhythm

関連する問題