此问题已在此处有答案:
get the user input in awk(3个答案)
2小时前关闭
我正在尝试编写一个shell脚本,在某些情况下,它会询问用户是否要删除某些文件。在这种情况下,会弹出一个问题:“是否要删除所述文件?[y/N]”
但是,在awk语句中逐行处理文件时会调用此函数。
现在,我能得到的最接近的是awk中的以下代码:
awk 'some other code
system("read -s -n1 ans && echo $ans | cat > inputf");
getline del < "inputf";
if (del=="y") system("echo Deleted Successfully!");
'
这是一个奇怪的方法来解决它,然而,它仍然不起作用。即使“inputf”文件在每次迭代中都被覆盖,getline命令也总是采用它的未修改的原始版本。对此有什么解释吗?或者有更简单的方法?注:我希望它能安静地阅读,并且是一个字符。
1条答案
按热度按时间ars1skjm1#
使用
/dev/stdin
的一种方法:试驾: