
スクリプトから3つのパラメータを読み取る必要があります。最初の2つは数字、3番目はファイルです.txt
。
たとえば、
example.sh 3 2 exam.txt
すでにいくつかのテキストを含む3番目のパラメータの場合と行を検索する必要がexam.txt
あります。head
tail
問題はどのように読むのかということですexam.txt
。試してみましたが"$3"
、使用時にはファイルではなく単語のみを使用します。
答え1
$ 3はbashスクリプトに渡すファイル名文字列です。有用な情報を得るには、そのファイル名文字列で何かをする必要があります。
ファイル自体の内容のみを取得する必要がある場合は、その引数にcat $3
渡したファイル名の内容をキャプチャできます。
ファイルの各行を繰り返す必要がある場合は、次のことができます。
while IFS= read -r line; do
echo "$line" # $line is a variable that represents the current line in the file
done < "$3"
上記の例はファイル内の各行だけをエコーするので、特定の行で必要なすべての操作を実行し、echoステートメントを置き換えるためにwhileループにカウンタ/論理を追加する必要があります。