Как Ipor Sircer предлагает , если вы можете открыть другой терминал, вы можете запустить gnome-terminal
оттуда.
Кроме того, вы можете сбросить вывод gnome-terminal
в файл: если вы используете GNOME, нажмите Alt F2 и введите
sh -c "gnome-terminal > ~/gnome-terminal.log 2>&1"
Затем вы весь вывод я найду в ~ / gnome-terminal.log
.
В Perl это можно сделать так:
perl -pe 'BEGIN { $v=shift; }
s/(MyID=")[^"]*(")/$1.$v.++$t.$2/ge' 7777777878889888 foo.xml bar.xml
Это не совсем просто, но работает. Скрипт принимает два аргумента, Arg1 — это строка для сопоставления, Arg2 — это имя входного файла. Это решение использует awk вместо sed.
#!/bin/bash
# myscript.sh
# Usage myscript.sh <string to match> <filename>
MyID=$1
awk -v MyID=$MyID 'BEGIN{ mynum=1; } { if (match($0,MyID) ) { sub(MyID, sprintf("%s%d", MyID, mynum) ) mynum++; } print }' $2