書式: cat()
を区切り文字として、指定された
をその順番に併合して一つの文字列を生成する。
として空文字""を指定すれば、文字列の単純な結合となる。
3つの項目str1,str2,str3を"#"の区切り文字を挿入して併合する。
$ more dat1.csv id,str1,str2,str3 1,abc,def,ghi 2,A,,CDE 3,,, 4,,,XY $ mcal c='cat("#",$s{str1},$s{str2},$s{str3})' a=rsl i=dat1.csv o=rsl1.csv #END# kgcal a=rsl c=cat("#",$s{str1},$s{str2},$s{str3}) i=dat1.csv o=rsl1.csv $ more rsl1.csv id,str1,str2,str3,rsl 1,abc,def,ghi,abc#def#ghi 2,A,,CDE,A##CDE 3,,,,## 4,,,XY,##XY
$ mcal c='cat("",$s{str1},$s{str2},$s{str3})' a=rsl i=dat1.csv o=rsl2.csv #END# kgcal a=rsl c=cat("",$s{str1},$s{str2},$s{str3}) i=dat1.csv o=rsl2.csv $ more rsl2.csv id,str1,str2,str3,rsl 1,abc,def,ghi,abcdefghi 2,A,,CDE,ACDE 3,,,, 4,,,XY,XY
strから始まる項目(str1,str2,str3)をワイルドカード「str*」によって指定している。
$ mcal c='cat("",$s{str*})' a=rsl i=dat1.csv o=rsl3.csv #END# kgcal a=rsl c=cat("",$s{str*}) i=dat1.csv o=rsl3.csv $ more rsl3.csv id,str1,str2,str3,rsl 1,abc,def,ghi,abcdefghi 2,A,,CDE,ACDE 3,,,, 4,,,XY,XY