可以将粘贴命令与命令一起使用,而不与文件一起使用吗?

时间:2020-07-04 07:13:05

标签: bash terminal syntax syntax-error

我正在使用Git Bash。

我有一些日志文件。我想获得一个不错的日期和时间戳清单。文件名以4位数日期开头。文件中的每个订单项都有时间。

我可以分别运行命令以将数据放入两个文件,然后使用粘贴命令将文件混搭。可行。

所以我的问题是:我可以使用命令代替粘贴命令中的文件吗?

示例: 我想使用paste file1 file2而不是paste (command1) (command2)。这可能吗?

我尝试将这样的命令分组:

paste (grep -F -e <string> <files> | cut -c1-4) (awk '/\-/ {print $1, $2}' <files>)

我收到了错误“意外令牌grep附近的语法错误” 所以然后我尝试使用命令替换:

paste $(grep -F -e <string> <files> | cut -c1-4) $(awk '/\-/ {print $1, $2}' <files>)

但不幸的是,它也不喜欢这样。有人知道我在这里想念的吗?

1 个答案:

答案 0 :(得分:0)

感谢评论者,在这里找到了答案: Output multiple commands into columns

(有效的)正确代码为:

paste <(grep -F -e <string> <files> | cut -c1-4) <(awk '/\-/ {print $1, $2}' <files>)

区别在于被替换的命令以'<'而不是'$'开头。