如何在bash中删除换行符之后删除所有文本?

时间:2016-04-05 12:34:56

标签: bash

假设我有一个像这样定义的Bash对象$ TEST:

{{1}}

只使用echo,如何输出' hello'来自$ TEST?我如何输出世界'来自TEST? (不允许其他命令)。我无法识别换行符。

2 个答案:

答案 0 :(得分:3)

使用bash参数扩展:

$ echo "$TEST"
hello
world

$ echo "${TEST%$'\n'*}"
hello

$ echo "${TEST#*$'\n'}"
world

答案 1 :(得分:0)

内置read命令可以一次提取一行。

$ { IFS= read -r line1; IFS= read -r line2; } <<< "$TEST"
$ echo "$line1"
hello
$ echo "$line2"
world