我有一个文本文件(Text.txt),内容如下,
我想编写一个shell脚本,我必须将Name1,Name2和Name3作为第一个参数,将Text1 / Text3作为第二个参数。 条件:如果存在第二个参数,我的脚本应检查每一行。
我的输出应显示如下:
我不知道从哪里开始。 有人可以帮助我。
答案 0 :(得分:1)
在read
循环中使用while
:
while read -r cmd args; do
printf "Arg1: %s Arg2: %s\n" "$cmd" "${args:-No args found}"
done < Text.txt
Bash参数展开与${args:-No args found}
$args
一起使用,No args found
设置为Microsoft.AspNetCore.Rewrite
值是未设置或为空。
我删除了前导数字,因为我不确定它们是否存在于您的文本文件中。
答案 1 :(得分:0)
您可以运行以下命令:
abcd xyz
它使用您想要的输入打印前两列,并检查第三列(使用Scanner scan = new Scanner(System.in).useDelimiter("\n");
)作为最后一个输出。
编辑:如果行号(awk -F' ' '{
printf $1" Arg1: "$2" Arg2: ";
if(length($3)){
print $3}
else {
print "No args found"}
}' Text.txt
,if
等)不是文本文件的一部分,请将命令行更新为以下内容:
1.