我如何从管道中提取特定的线,然后在最后回音。为了说明我的意思-我有几行通过管道发送,并像这样处理

#!bin/bash
 while read line; do
 echo "$line"
done

我有这个输入
foo1 -> long
foo1 -> hell
foo1 -> fail
foo1
fast1 -> fine
fast1 -> good
fast1

我要这么做
foo1 -> long
foo1 -> hell
foo1 -> fail
fast1 -> fine
fast1 -> good
fast1
foo1

只是一个例子-将有更长的输入来处理

最佳答案

可以使用bash array在数组中存储某些行,以便以后打印:

lines=()
while read line; do
 if [[ $someCondition ]]; then
   lines+=("$line")
 else
   echo "$line"
 fi
done

# print array now:
printf "%s\n" "${lines[@]}"

关于linux - 如何选择特定的行并在bash shell的末尾回显,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22696381/

10-13 00:54