在cmd中使用gawk模式,管道等

时间:2017-11-10 10:09:10

标签: design-patterns cmd gawk

我有多个文件,我需要从多个文件打印出模式,在行之间和行尾添加一些文本,并将输出文本发送到outlook或只创建新的文本文件。

我能够单独使用模式,但无法使用管道链接所有内容。使用|时收到空白文件。所以我正在创建额外的文件并将其用作参考。

输入文件看起来像(假设有20个文件):

File name: xxx
Description: xxx

date & time etc.

\\dir\documents\file.pdf (link)

A: info1
B: info2
C: info3
D: info4

我希望输出文件/数据如下所示:

File name: xxx
Description: xxx
Linked documents: - added text
\\dir\documents\file.pdf

date &time

A: info1
B: info2
C: info3
D: info4
----------------------------------------
File name: xxx
Description: xxx
Linked documents: - added text
\\dir\documents\file.pdf

date &time

A: info1
B: info2
C: info3
D: info4

这部分代码正在运行:

cd C:\Users\xxx\Desktop\\Files
dir
gawk "/File|Description|dir/" *.* > data.txt 

此部分正在运作

gawk "/Description/ {print;print \"Linked Documents:\";next}1" *.* > data.txt

但是我不能像这样使用管道:

gawk "/File|Description|dir/" | gawk "/Description/ {print;print \"Linked Documents:\";next}1" *.* > data.txt

到目前为止,我的代码看起来像这样:

cd C:\Users\xxx\Desktop\Files
dir
gawk "/Part|Description|dir/" *.* > C:\Users\xxx\Desktop\File\Temp\data.txt
cd C:\Users\xxx\Desktop\File\Temp
dir
gawk "/Description/ {print;print \"Linked Documents:\";next}1" *.* > C:\Users\xxx\Desktop\File\output.txt
del C:\Users\xxx\Desktop\File\Temp\data.txt
@echo off
clip < "C:\Users\xxx\Desktop\File\output.txt"

输出文件如下:

File name: xxx
Description: xxx
Linked documents:
\\dir\documents\file.pdf
File name: xxx
Description: xxx
Linked documents:
\\dir\documents\file.pdf

如何组合代码的任何提示,所以我不必创建额外的.txt文件 为什么|不工作 - 我做错了吗?我用的是win10 cmd

提前谢谢

0 个答案:

没有答案