Вы можете использовать уменьшение и удержание индексов, где вы найдете R:
var conversations = ['R: test1' ,'R: test3','tx','I sent' ]
var replies = conversations.reduce(function(op,message,index) {
if(message.indexOf('R:')!== -1) {
op.push(index)
}
return op
},[]);
console.log(replies)
То, что вы, вероятно, хотите сделать, выглядит примерно так:
open(F, "someshellscript.sh|");
while (<F>) {
print;
}
close(F);
Запускается someshellscript.sh
и открывает канал, который читает его вывод. Цикл while
читает каждую строку вывода, сгенерированного сценарием, и печатает ее. См. открыть страницу документации для получения дополнительной информации.
Проблема здесь в том, что экранирование обратными знаками сохраняет ваш сценарий в строку, которую вы затем печатаете. По этой причине не существует способа "смыть" с помощью print.
Использование команды system() должно печатать вывод непрерывно, но вы не сможете перехватить вывод:
system "someshellscript.sh";