gpt4 book ai didi

linux - 最后如何获取长命令的输入

转载 作者:太空宇宙 更新时间:2023-11-04 03:51:34 24 4
gpt4 key购买 nike

是否可以在命令末尾输入一个很长的命令?下面的示例可以更清楚地解释我的查询。

目前在 grep 时我必须执行如下操作:

zgrep -i "A VERY LONG TEXT" file |awk '{print $1}'

每次我都必须将光标移回“非常长的文本”来更改模式。我想以“非常长的文本”出现在命令末尾的方式更改命令,以便我可以快速更改它。

command1 |command2 |some_magic "A VERY LONG TEXT"  

我知道我可以通过执行 CAT 然后 grep 来实现这个结果,想知道是否有任何替代方法可以做到这一点。可能就像将它分配给临时变量一样?

示例 2:

我需要获取所有命令的实时时间戳及其在 session 文件中的输出。所以我必须使用以下命令。但在执行任何命令之前,我必须移动光标直到取消缓冲并更改命令。有什么方法可以更改以下命令,以便我可以在行尾输入命令?

    /yumm 194>unbuffer ls -lrt | awk '{ print strftime("%Y-%m-%d %H:%M:%S"), $0; }'  
2014-10-01 10:38:19 total 0
2014-10-01 10:38:19 -rw-rw-r-- 1 user bcam 0 Oct 1 10:37 1
2014-10-01 10:38:19 -rw-rw-r-- 1 user bcam 0 Oct 1 10:38 test1
2014-10-01 10:38:19 -rw-rw-r-- 1 user bcam 0 Oct 1 10:38 test2
2014-10-01 10:38:19 -rw-rw-r-- 1 user bcam 0 Oct 1 10:38 test3
2014-10-01 10:38:19 -rw-rw-r-- 1 user bcam 0 Oct 1 10:38 test4
yumm 195>

简而言之,我需要一些命令来获取我执行的所有命令及其输出的时间戳。

最佳答案

如果您只是将此文本设置为变量会怎样?

mystring="A VERY LONG TEXT"
zgrep -i "$mystring" file | awk '{print $1}'
^ ^
note you need double quotes to make it work

根据您的编辑,您还可以执行以下操作:

awk '{ print strftime("%Y-%m-%d %H:%M:%S"), $0; }' <<< "$(unbuffer ls -ltr)"
^^^^^^^^^^^^^^^^^^^^^^^^^

关于linux - 最后如何获取长命令的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26143925/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com