我想知道如何制作简短的bash脚本来读取另一个文件并使用它以正确的顺序吐出某些文本行
我希望它能像这样工作。 filename可以是任何文件:
myscript.bash < filename
我在myscript.bash中写的内容:
#!/bin/bash
############################################################################
#for greping info of scf files
#
#
#
############################################################################
read filename
val1=eval grep string1 filename
val2=eval grep string2 filename
echo 'VAL1' $val1
echo 'VAL2' $val2
在这种情况下,“阅读”是否合适?文件名可以是我想要myscript.bash读取的任何内容,以便我可以从文件中获取信息
答案 0 :(得分:4)
如果你想要文件名,你需要把它作为脚本的参数,而不是使用重定向:
myscript.bash filename
在脚本中,您使用$1
,$2
等来访问参数,因此它将是:
filename=$1
然后你做
val1=$(grep string1 "$filename")
val2=$(grep string2 "$filename")
echo 'VAL1' "$val1"
echo 'VAL2' "$val2"