这将删除每行开头的所有空格和制表符:
sed 's/^[ \t]*//' file
但假设我们只想对齐queued.max.requests=1000
文件中的参数
- 输入示例:
log.flush.interval.messages=20000 queued.max.requests = 1000 producer.purgatory.purge.interval.requests=100
- 期望的输出:
log.flush.interval.messages=20000 queued.max.requests=1000 producer.purgatory.purge.interval.requests=100
我们如何适合sed 's/^[ \t]*//'
这种情况?另外,我希望 sed/perl 删除参数到“ =
”以及从“ =
”到过程中的值之间的空格。
答案1
怎么样
sed '/queued\.max\.requests/s/[\t ]\{1,\}//g' file
或者
sed -r '/queued\.max\.requests/s/[\t ]+//g' file
=
这将仅删除包含 的行中的所有空格(从行的开头以及 周围的空格) queued.max.requests
。
答案2
$ sed 's/^[[:space:]]*\(queued\.max\.requests\)/\1/; s/ *= */=/' file
log.flush.interval.messages=20000
queued.max.requests=1000
producer.purgatory.purge.interval.requests=100