【发布时间】:2020-09-06 15:49:53
【问题描述】:
我在名为 code.sh 的文件中编写了一个简单的 awk 命令,用于从输入文件 命名为 test 并按数字排序并显示在命令行上
输入文件测试是
23
34
45
56
6
76
5
43
22
45
67
445
55
33
44
44
88
76
54
0
9
8
7
66
代码写在code.sh如下图
awk '
BEGIN{
}
{
if($1 % 2 == 0){
print($1);
}
}
END{
}
' test | sort -n
在命令提示符下,我正在执行以下代码来运行脚本
./code.sh
上面的代码工作得很好,我得到了预期的输出。
但在代码中,我在代码中提供了输入文件的名称(在本例中,输入文件名为 test)。
但我想要的是在命令行中提供输入文件名。
我认为这是解决方案之一。
BEGIN{
}
{
if($1 % 2 == 0){
print($1);
}
}
END{
}
在命令行中,我执行任务的代码是
awk -f code.sh test | sort -n
但在这种情况下,我必须在脚本之外的命令行中编写 sort 命令。但我想在 code.sh中编写所有代码(仅选择偶数的 awk 命令和使用管道 | 对 awk 脚本的输出进行排序的排序命令) > 文件并在命令行参数中提供输入文件 test。
在 HackerRank 中,我执行了以下代码,这实际上是我的要求,使用自定义输入并运行脚本,我得到了预期的输出。但我不知道 HackerRank 平台使用什么命令来运行脚本
awk '
BEGIN{
}
{
if($1 % 2 == 0){
print($1);
}
}
END{
} ' | sort -n
现在我想在我自己机器的命令行中提供输入文件test来执行上述脚本。
我试过的这个命令失败了
./code.sh test
【问题讨论】:
-
如果存在这样的标签,您应该用“hackerrank”标记您的问题,或者在有关“hackerrank”的论坛上发布您的问题,或者联系任何支持该标签的人。