相关疑难解决方法(0)

Bash - 如何在sed命令输出中保留换行符?

假设我有一个文件BookDB.txt,它以下列格式存储数据:

Harry Potter - The Half Blood Prince:J.K Rowling:40.30:10:50
The little Red Riding Hood:Dan Lin:40.80:20:10
Harry Potter - The Phoniex:J.K Rowling:50.00:30:20
Harry Potter - The Deathly Hollow:Dan Lin:55.00:33:790
Little Prince:The Prince:15.00:188:9
Lord of The Ring:Johnny Dept:56.80:100:38
Three Little Pig:Andrew Lim:89.10:290:189
All About Linux:Ubuntu Team:76.00:44:144
Catch Me If You Can:Mary Ann:23.60:6:2
Python for dummies:Jared Loo:15.99:1:10
Run Code Online (Sandbox Code Playgroud)

我想在输出中用(,)替换(:)分隔符.它成功,但从输出中删除换行符.这是我的代码:

TITLE=Potter
OUTPUT=$(cat BookDB.txt | grep $TITLE)
OUTPUT1=$(sed 's/:/, /g' <<< $OUTPUT)
echo $OUTPUT1
Run Code Online (Sandbox Code Playgroud)

我希望我的输出看起来像这样:

Harry Potter - The Half Blood Prince, J.K Rowling, 40.30, 10, …
Run Code Online (Sandbox Code Playgroud)

bash sed echo delimiter cat

5
推荐指数
1
解决办法
4847
查看次数

标签 统计

bash ×1

cat ×1

delimiter ×1

echo ×1

sed ×1