别名命令 (tcsh) 中的 awk -F

awk -F inside an alias command (tcsh)

提问人:ZakS 提问时间:10/25/2023 最后编辑:ZakS 更新时间:10/26/2023 访问量:69

问:

我在别名以下命令时遇到了一些问题:

a gl 'cat \!:1 | awk -F'-c ' '{print$2}' | awk -F' ' '{print($1)}'

这是我尝试解析的文本示例 - 目标是到达 -c 之后,问题是如何别名 awk 命令。

command: cloud-tool -a <path to file> -b <path to file> -c <path to file> -d <path to file> -e <path to file> -f <path to file> param_alpha=on optimizeTriangle=on genericSupport=on forceConfig <path to file> pathConfig=/system/tool/configs/settings.txt SensorConfig: sensorMode=primary --synchronize=on --skipMissing

感谢您的帮助!

Linux AWK 别名 TCSH

评论

1赞 tripleee 10/25/2023
你不能像这样嵌套单引号。无论如何,该脚本可能都应该重构为。(我不能完全正确地引用,但这只是放弃 tcsh 的另一个原因。'awk -F "-c " "{ split(\$2, c, \" \"); print c[1]}" \!:1'
0赞 Ömer Sezer 10/25/2023
你能举个例子、文件等吗?最好理解..
0赞 Ed Morton 10/25/2023
我希望您已经知道不要使用 [t]csh 编写脚本,但以防万一 - google.com/search?q=csh+why+not
0赞 ZakS 10/25/2023
@tripleee谢谢,我得到了一个无与伦比的'''。这个错误。我希望我能放弃tcsh,但我不能
2赞 markp-fuso 10/25/2023
请用这些额外的细节来更新问题;我们不需要通读评论来了解全貌;此外,(可能很重要的)格式在注释中丢失

答:

2赞 Philippe 10/26/2023 #1

这应该实现你想要的:

alias gl 'awk -F"-c " '\''{print $2}'\'' \!:1 | awk -F" " '\''{print $1}'\'

主要思想是在 awk-scripts 周围加上单引号。