- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
这是我必须做的:显示作为参数给出的文件的内容,如下所示:位置 1, 3, 5, ... 上的文件将正常显示。这位置 2, 4, 6, ... 上的文件打印每一行颠倒顺序(最后一个字最先显示,倒数第二个显示第二等)。
我尝试了很多方法,但我不知道如何验证文件名在 awk 参数列表中的位置。
if(j%2!=0){
for(i=1;i<=NF;i++)
print $i
}
else
for(i=NF;i=1;i--)
print $i
}
这就是我如何打印文件中的行。
BEGIN{
for(j=1;j<ARGC;j++)
a[j]=j
}
在这里,我尝试制作一个包含参数数量的列表。
但是我怎样才能将列表与 if 一起使用呢?或者我怎样才能以不同的方式做到这一点?
$ awk -f 2.awk 1.txt 2.txt 3.txt
这是我使用的命令,其中2.awk是源文件。
文本文件示例: 1.txt
1 2 3 4
a b c b
最佳答案
对于 ARGIND 使用 GNU awk:
gawk '!(ARGIND%2){for (i=NF;i>1;i--) printf "%s ",$i; print $1; next} 1' file1 file2 ...
对于其他 awk,只需在 FNR==1 block 中递增一个变量来创建您自己的“ARGIND”,假设所有文件都不为空。
关于linux - 如何在 UNIX 中使用 awk 以不同方式(通过 argc 中的文件名位置)打印来自多个文件的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16088098/
我正在将 HP-Unix 下的大量 Oracle Pro*C 代码迁移到 Linux 环境。 程序中只定义了这样一个main方法: main _2a((argc,argv), int argc, ch
我正在使用库中的一个函数,该函数调用主程序中的 (argc,argv) 命令行函数直接传递给它;但是,我只想将一些参数传递给它,其余的在主代码中评估而不是函数。以下是带有评估参数的主要代码示例。 in
我在SO里游荡,看到了this question .然后我开始怀疑我是否可以溢出 argc。 标准规定 argv[argc] 必须是空指针,但如果 argc 溢出,则为 false。 (我 wrote
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
出于某种原因,如果我写“a+bi * c+di”而不是“a+bi + c+di”,我的 argc 参数从 4 更改为 6,但我不知道为什么。发生了什么事以及如何解决? 谢谢 #include #in
我有以下代码: void parse(char *commandLine) { int rc = 0; int argc = 0; char *cmdLine; cha
这是此问题的后续问题:Minimal example of Python interpreter embedding segfaults . 当我这样编译程序时: gcc -fno-diagnosti
根据this paper 和一些 stackoverflow 帖子,argc 在堆栈的顶部,argv 在它下面。我已经尝试了大约 3-4 种不同的方法: 将其弹出到初始化变量 (.data) - 通过
这个问题在这里已经有了答案: OpenCV argc and argv confusion (1 个回答) 关闭 9 年前。 我不明白,OpenCV 中用于加载图像的代码的功能是什么。 if(arg
我的教授和几个学生正在争论 argv 是否以 null 终止。我的 friend 写了一个小程序,它打印出 null 但另一个 child 说他可能只是在读入空白内存。有人可以解决这个讨论吗? 最佳答
所以我进行了 PHPUnit 测试,并在一个函数中找到了这段代码。 global $argv, $argc; echo $argc; print_r($argv); 我明白这些变量代表什么(从命令行传
我编写了一个打印输入的代码: int main(int argc, char *argv[]) { printf("%c", *argv[1]); return 0; } 当我输入
我将一个 main(int argc, char *argv[]) 函数重命名为普通子函数,例如 a(int argc, char *argv[]);并在我的 main() 中调用 a() 函数。然后
int main( const int argc , const char[] const argv) 如Effective C++ Item#3 指出“尽可能使用 const”,我开始思考“为什么不
我知道 argc 计算参数的数量,argv 接受参数,但它们是我可以确定我的参数是否来自 argv 以某种格式输入,如括号内和非括号内。比如./a.out "Hello Word"和./a.out H
我是 C++ 的新手,我正在尝试了解它的工作原理。所以我有下一个代码: int _tmain(int argc, _TCHAR* argv[]) { std::wcin.get();//for con
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topi
我正在尝试查找 C++ 程序中的段错误。我注意到在发生段错误时 argc 已被修改为非常大的数字。该数字恰好是我的应用程序地址空间中的一个地址。这让我相信有什么东西正在破坏我的主堆栈框架。问题是,如何
为什么会出现以下情况: #include int main(int argc, char *argv[]) { char array[3] = {'1', '2', '3'};
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
我是一名优秀的程序员,十分优秀!