gpt4 book ai didi

awk - 如何使用 sed 或 awk 将单词排成一行?

转载 作者:行者123 更新时间:2023-12-02 06:57:54 25 4
gpt4 key购买 nike

我的文件内容:

Google
Facebook
yahoo
cisco
juniper
oracle
firetide
attack

我想将上面的单词(列)转换成一行,如下所示:

Google Facebook yahoo cisco juniper oracle firetide attack

注意:每个单词之间应该有一个空格。

请建议我使用 sed 或 awk 实现此目的的方法。

提前致谢。

最佳答案

使用外壳

如果 shell 解决方案是允许的,那么尝试:

$ echo $(cat inputfile) 
Google Facebook yahoo cisco juniper oracle firetide attack

以上应该适用于任何 POSIX shell。使用 bash:

$ echo $(<inputfile) 
Google Facebook yahoo cisco juniper oracle firetide attack

使用sed

如果我们真的必须使用 awksed,那么这是一个 sed 解决方案:

$ sed ':a;N;$!ba; s/\n/ /g' inputfile
Google Facebook yahoo cisco juniper oracle firetide attack

上面读取整个文件 (:a;N;$!ba) 然后用空格替换所有换行符 (s/\n//g) .

如果输入文件可能包含行首和行尾的额外空格,我们可以删除它们:

$ sed ':a;N;$!ba; s/[[:space:]]*\n[[:space:]]*/ /g' inputfile
Google Facebook yahoo cisco juniper oracle firetide attack

关于awk - 如何使用 sed 或 awk 将单词排成一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27395234/

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