1

これは単純なはずのように思えますが、それに答えるために検索を表現する方法を見つけようとして、私を夢中にさせています.

簡単に言えば、名前、パス、およびパターンで構成される 3 つの列で構成されたファイルがあります。行をループしながら、これらのそれぞれを独自の変数に抽出して使用したいと思います。

私が現在持っている解決策は次のとおりです(タイプミスを許してください):

while read line
do
    name=$(echo "$line" | awk '{print $1}')
    path=$(echo "$line" | awk '{print $2}')
    pattern=$(echo "$line" | awk '{print $3}')
done < "myFile.txt"

awkただし、これは変数ごとに 1 回呼び出すことを意味するため、実際には非効率的な方法のようです。それで、これを行うより良い方法はありますか?区切り文字は今のところタブだけですが、使いやすいものに変更できます。

4

1 に答える 1

6
while read name path pattern
do
    # Do something
done < myFile.txt

そして、区切り文字を次のように別のものに変更したい場合,:

while IFS=, read name path pattern
do
    # Do something
done < myFile.txt
于 2013-06-04T13:39:08.587 に答える