我需要读入我的脚本 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"
上面的示例只会回显文件中的每一行,因此您需要在 while 循环中添加一个计数器/逻辑,以允许您在特定行上执行您想要执行的任何操作并替换 echo 语句。