我有一个名为 full_path.txt 的文件,其中有几百行目录路径。现在我可以通过修改我编写的 shell 脚本并 grep 我需要的内容来转到任何路径。我发现转到代码、更改它、保存它然后再次运行它以到达所需的行并 grep 我想要的内容很乏味。
我想知道是否有一种方法可以在脚本末尾添加一些内容,以便它自动将我带到该行并进行 grep。
我知道我要做的就是将 FNR 更改为我想要的任何一行,但是有没有办法在运行时做到这一点?
例如,如果我想转到第 15 行,我只需输入gotoline.sh 15
这是我到目前为止的代码
line=$(awk 'FNR==1' full_path.txt)
cd "${line}"
grep -a "RESULT:" console_debug.log > Result.txt
答案1
Awk
能够将输入参数/变量传递给脚本(通过-v
选项):
#!/bin/bash
line=$(awk -v l_num=$1 'NR == l_num' full_path.txt)
...
通过上述方法,您可以在运行主 shell 脚本时传递所需的参数:
gotoline.sh 15
15
将作为 shell 脚本参数传递到哪里$1