我想将某些输出从终端重定向到电子表格中的工作表。 bash中可能吗?
具体来说,我已经生成了一些显示在终端上的输出。我设法将输出改为重定向到.csv文件中的工作表,如下所示:
COMMAND awk '{print $1,$2}' > FILE.csv
$1,$2
将终端输出的第1列和第2列重定向到FILE.csv中的工作表。
a)是否可以指定输出重定向到哪张纸?也就是说,如何修改上述命令,以便将输出重定向到例如FILE.csv的第25页?
b)$
表示要输出到.csv文件的终端输出的列。仅将第1列第2列输出到.csv文件的语法是什么?
编辑
终端输出为以下形式
X1, Y1
X2, Y2
...
由大约1000行组成,我想将Xi
值复制到.csv文件中的B列,并将Yi
值复制到C列。
我有很多这样的输出,它们都是分别生成的,所以总的来说,我希望它们在单个.csv文件中彼此相邻。也就是说,上面的输出可以进入B和C列,然后另一个这样的输出可以进入D和E列,等等...
MY问题实际上是提供COMMAND
的输出和一个csv文件的示例。但是,我将为您提供示例,以便您可以自己实现。
我的csv:
name,lastname,age,salery
Name1,Lastname1,23,2000
Name2,Lastname2,33,3000
如果命令的输出为Lastname2 40 4000
,则可以使用此:
target="Lastname2"
age=40
sal=4000
sed -r "s/^(.*,$target),.*$/\1,$age,$sal/" test.csv
在Linux中,您可以使用paste:
paste -d "," <(COMMAND1 | awk '{print $1,$2}') \
<(COMMAND2 | awk '{print $1,$2}') \
(more COMMANDs...) \
> FILE.csv