shellはカンマとして1つ以上のスペースを置き換えます

941 ワード

一、元のテキストword.txt内容
a c      b   d
d   b   c  a
a  c   d    b
c    a   r s
d   s   g   h

二、shellスクリプト
cat word.txt | sed 's/[ ][ ]*/,/g'

スクリプトの説明:
  • sは置換命令を表す.
  • [ ]にはスペースが含まれています.
  • *号は0個以上を表す.
  • gは、各ローを置換するすべての一致を表す.

  • もう1つの方法があるが、macでの置換に失敗した:cat word.txt | sed 's/\s\+/,/g'のうち\sはスペースを表し、+は1回または複数の出現を表す.
    三、置換効果
    a,c,b,d
    d,b,c,a
    a,c,d,b
    c,a,r,s
    d,s,g,h