gpt4 book ai didi

linux - 带有制表符和否定匹配的 Sed

转载 作者:太空宇宙 更新时间:2023-11-04 09:36:45 26 4
gpt4 key购买 nike

我有以下文件

a
b c d e

所有都是制表符分隔的。

我的输出应该是这样的

a,
b,c,d,e

我正在尝试以下方法。

sed 's/[[:space:]]*/,/g' input.txt
this gives me the following
,a,
,b,c,d,e,

我应该如何删除两行的第一个逗号。所以输出应该是这样的

一个, b,c,d,e,

使用两个 sed 命令成功完成了以下操作。

cat input.txt |  sed 's/[[:space:]]*/,/g' | sed 's/^,//'  (sorry useless use of cat)

有没有更好的方法用一个 sed 命令来做到这一点。 (我不是在寻找 awk/tr 或任何其他方法,只是 sed )

最佳答案

添加空格前有字母的条件:

sed 's/\([a-z]\+\)[[:space:]]*/\1,/g' input.txt

在一个命令中链接两个 sed 规则(这种方式可能更具可读性):

sed 's/[[:space:]]*/,/g;s/^,//' input.txt

关于linux - 带有制表符和否定匹配的 Sed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25831686/

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