我得到的输出如下:
TEXT
SOMETEXTELSE
我需要合并字符串并添加符号" R"他们之间喜欢:
TEXT R SOMETEXTELSE
我怎么做?
由于
更新。抱歉。这是命令
egrep -B1 ELLDB@сranium.*FAILED /var/log/alert.log | tail -2
这是输出:
ERR-0045 Database is down for given SID. Can't perform backup.
2014-12-19 16:15:01 ELLDB@сranium Backuper:bkp status: FAILED 98456876
我需要输出:
ERR-0045 Database is down for given SID. Can't perform backup. R 2014-12-19 16:15:01 ELLDB@сranium Backuper:bkp status: FAILED 98456876
答案 0 :(得分:0)
sed '$! s/.*/\0 R/' | paste -s -d " "
答案 1 :(得分:0)
假设您的输出是由seq 1 10
生成的,然后可能是......
seq 1 10 | perl -pe 's/\n/ R /' | perl -pe 's/$/\n/'
答案 2 :(得分:0)
使用awk:
awk 'NR==1 {printf "%s R ", $0} NR == 2'
的说明:强>
awk逐行读取其输入,并将每一行与一系列pattern
对中的每个pattern {action}
进行比较。
NR == 1 {printf "%s R ", $0}
:
如果 当前行是第一行(NR == 1
), 则 执行{ {1}},表示打印行(printf "%s R ", $0
)的内容,后跟空格,后跟“R”,后跟空格(末尾没有换行符)。
$0
:
如果 当前行是第二行(NR == 2
), 则 执行默认操作(因为未指定NR == 2
中的操作),即打印行后跟换行的内容(它等同于写{...}
或NR == 2 {print}
)。< / p>
答案 3 :(得分:0)
单个sed
命令可与N
联接行替换一起使用。
sed -e 'N;s/\n/ R /'
例如:
$ printf "TEXT\nSOMETEXTELSE\n" | sed -e 'N;s/\n/ R /'
TEXT R SOMETEXTELSE