gpt4 book ai didi

linux - 使用 linux 命令替换特定的字符串

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:59:24 24 4
gpt4 key购买 nike

我有以下形式的数据:

<some text0>
<text1> <text2> .
<some text1>
<text3> <text4> .

现在我想把这个数据转换成下面的形式:

<text1> <text2> <some text0>.
<text3> <text4> <some text1>.

我知道我可以使用 C++ 来完成,但是有没有一些方法可以使用 linux 来完成。我知道 sed 擅长替换字符...但我不知道应该如何使用 sed 来替换上述形式。

最佳答案

这个单行代码适用于您的示例:

kent$  awk '!/\.$/{s=$0;next}sub(/\.$/,s".")' f
<text1> <text2> <some text0>.
<text3> <text4> <some text1>.

解释:

awk               #the program
!/\.$/{s=$0;next} #if the line was not ending with dot(.),
#assign it to s, read next line
sub(/\.$/,s".") #we are here when the line ends with ".",
#then we replace ending "." with s, and print.
f #the input file

关于linux - 使用 linux 命令替换特定的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19812572/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com