指定された場所から文字列参照を取得する方法は?

指定された場所から文字列参照を取得する方法は?

ディレクトリ内の要素リスト(テキストファイル内)のエントリを見つけようとします。

以下は私が使用しているコードですが、コマンド出力をコンソールに送信することはbashできません。grep

#!/bin/bash
FILENAME=$1

count=0

while read LINE

do

let count++

echo "$count $LINE"

grep -r $LINE /home/user/vaishnavi

done < $FILENAME

echo -e "\nTotal $count Lines read"

出力:

1 ASK
2 TELL
3 ORDER
4 NUMBER
5 SIZE
6 BASKET
7 FRUIT
8 VEGGIES
Total 8 Lines read

要素のリストのみを取得しますが、指定された位置に要素が表示される回数はインポートされません。

私のコードに問題がありますか?

ありがとうございます。

答え1

私のコードは次のようにすべきだと思います。

出力が次のようになりたい場合

Serial_Number Name_Of_Element 個数ファイル名 1 ファイル名 2

#!/bin/bash
FILENAME=$1

count=0

while read LINE

do

let count++

VAL=$(grep -r $LINE /home/user/vaishnavi | awk -F ':' '{print $1}' | sort -u )
NUM=$(grep -r $LINE /home/user/vaishnavi | wc -l)

echo "$count $LINE $NUM"
echo "$VAL"

done < $FILENAME

echo -e "\nTotal $count Lines read"

答え2

grep -xrHf elementsfile.txt /home/user/vaishnavi | sort | uniq -c
  • x:行全体と一致します(ASKはBASKETと一致しないでください)。
  • r:フォルダをスキャンしてください
  • H:ファイル名の印刷(ファイル:一致)
  • f: ファイルから一致させる要素を読み込みます。

これはファイルごとにソートされます。一致する要素で並べ替えるには、次を追加します。

| sort -k2 -t:

関連情報