Ruby 将随机数目的字符追加到命令的输出
我将此命令作为脚本的一部分,该脚本将时间戳添加到正在执行的命令的每一行:Ruby 将随机数目的字符追加到命令的输出,ruby,bash,Ruby,Bash,我将此命令作为脚本的一部分,该脚本将时间戳添加到正在执行的命令的每一行: $command 2>&1 | tee>(ruby-pe'print Time.now.strftime(“[%s]”)>>“$temp_file”) 我想在这个ruby单行命令中添加一个if来检查输出是否以一个特定的字符结束,如果是,在将该字符写入temp_文件之前添加一个随机数 比如: $line.以?(“*”)结尾?放置“#{line}”+“*”*兰德(1..10):放置“#{line}” 如果您查看Ruby手册页
$command 2>&1 | tee>(ruby-pe'print Time.now.strftime(“[%s]”)>>“$temp_file”)
我想在这个ruby单行命令中添加一个if来检查输出是否以一个特定的字符结束,如果是,在将该字符写入temp_文件之前添加一个随机数
比如:
$line.以?(“*”)结尾?放置“#{line}”+“*”*兰德(1..10):放置“#{line}”
如果您查看Ruby手册页,它会解释-p
-n
使Ruby在脚本周围假设以下循环,这使它在文件名参数上进行迭代,有点像sed-n或awk
while gets
...
end
-p
的作用与-n
开关基本相同,但在循环的每一端打印变量$\uu
的值
% echo matz | ruby -p -e '$_.tr! "a-z", "A-Z"'
MATZ
因此,$基本上就是您想要的$行
变量。通过读取/写入此变量,可以更改一行程序的输出
例如,此命令在文件中每行的末尾添加一个感叹号:
ruby -pe '$_ = "#{$_.chomp}!\n"' <myfile
ruby-pe'$\=“{$\.chomp}!\n”如果您查看ruby的手册页,它会解释-p
-n
使Ruby在脚本周围假设以下循环,这使它在文件名参数上进行迭代,有点像sed-n或awk
while gets
...
end
-p
的作用与-n
开关基本相同,但在循环的每一端打印变量$\uu
的值
% echo matz | ruby -p -e '$_.tr! "a-z", "A-Z"'
MATZ
因此,$基本上就是您想要的$行
变量。通过读取/写入此变量,可以更改一行程序的输出
例如,此命令在文件中每行的末尾添加一个感叹号:
ruby -pe '$_ = "#{$_.chomp}!\n"' <myfile
ruby-pe'$\=“{$\.chomp}!\n”
我正在使用-n
而不是-p
,以便实际使用从STDIN读取的值执行某些操作:
至于实现,我选择使用正则表达式(/\*$/
)简洁地替换匹配的最后一个字符。你可以随意调整
我正在使用-n
而不是-p
,以便实际使用从STDIN读取的值执行某些操作:
至于实现,我选择使用正则表达式(/\*$/
)简洁地替换匹配的最后一个字符。你可以随意调整