스크립트에서 3개의 매개변수를 읽어야 합니다. 처음 2개는 숫자이고 세 번째는 파일입니다 .txt
.
예를 들어:
example.sh 3 2 exam.txt
이미 일부 텍스트가 포함된 세 번째 매개변수 의 경우 및 가 있는 줄을 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 루프에 카운터/논리를 추가해야 합니다.