2015-04-07 5 views
0

Я бегу несколько Piped команд, чтобы получить выходные файлы, выглядит следующим образом:Windows, партия: добавить строку в стандартный вывод

decode.exe < itch-20150213.txt | select -I 101 | dump.exe > 20150213.txt 

Выходной текстовый файл:

val11 val12 val13 val14 
val21 val22 val23 val24 
... etc 

Есть простой способ мне добавить строку (дата) «20150213» в последнем столбце вывода, так что я получаю:

val11 val12 val13 val14 20150213 
val21 val22 val23 val24 20150213 
... etc 

(если это Absolut Это невозможно сделать просто в командной строке Windows, каков был бы метод Bash?) Спасибо

+0

Что такое 'select -I 101'? Вы используете powershell? – zdan

ответ

0

Не существует собственных пакетных инструментов или утилит, которые могут сделать это удобно. Чистый командный файл можно было бы написать, но он был бы уродливым и довольно медленным. Я уверен, что вы можете найти порт Windows для инструмента unix, который мог бы выполнить эту работу. Или вы можете написать простой пользовательский сценарий JScript или VBS. Я также предполагаю, что с PowerShell это будет легко сделать.

Я бы использовал мой JREPL.BAT utility - гибридный JScript/пакетный скрипт, который выполняет поиск и замену регулярных выражений на stdin. JREPL.BAT - это чистый скрипт, который запускается изначально на любом компьютере Windows с XP.

Предполагая JREPL.BAT находится где-то в вашем PATH, то все, что вам нужно, это еще одна труба, JREPL:

decode.exe < itch-20150213.txt | select -I 101 | dump.exe | jrepl $ " 20150213" > 20150213.txt 

Было бы так же легко, как добавить строку в качестве префикса вместо:

decode.exe < itch-20150213.txt | select -I 101 | dump.exe | jrepl "^" "20150213: " > 20150213.txt 
+0

Спасибо. Вы знаете команду linux/bash? – luffe