

お世話になります。とある配列やテキストをすべて比較するスクリプトを作成したいと思っております。

例 ）

[code]

    a.txt
    -----
    a
    b
    c
    d
    
    1.txt
    -----
    1
    2
    3
    4
    
[/code]

これをa-1,a-2,a-3,a-4,b,1,-b,2-b,3,b-4  
みたいな形でたすき掛けみたいなイメージで比較していきたいのですが、  
うまく案が思いつきませんでした。

どなたかサンプルをご教示いただけないでしょうか。

当方、powershellとshellしか知りませんので、すみませんがその範囲で教えてください。

よろしくお願いいたします。


CC BY-SA 4.0
2018-06-21T09:36:27.873
44955
2018-07-02T01:09:54.203
2018-06-21T11:24:33.507
19110
7332
question
powershell shell
テキストの比較方法について


Linuxの場合、joinコマンドで存在しない列を指定すると、テキストの行の組み合わせが得られます。

[code]

    $ join -j 100 a.txt 1.txt
     a 1
     a 2
     a 3
     a 4
     b 1
     b 2
     b 3
     b 4
     c 1
     c 2
     c 3
     c 4
     d 1
     d 2
     d 3
     d 4
    
[/code]

「比較する」が具体的に何をするのかわからないので、とりあえずここまで。


CC BY-SA 4.0
2018-06-21T10:39:36.077
44958
2018-06-21T10:39:36.077
4010
44955
answer


比較ってこんな感じのことなのかなぁ…。

[code]

    cat a.txt | while read LINE_A
    do
      cat 1.txt | while read LINE_1
      do
        printf “${LINE_A}  と ${LINE_1} を”
        printf “比較したら ”
        if [ “${LINE_A}” = “${LINE_1}” ] 
        then
          printf “同じもの”
        else
          printf “違うもの”
        fi
        echo “でした”
      done
    done
    
[/code]


CC BY-SA 4.0
2018-06-21T16:02:46.367
44969
2018-07-02T01:09:54.203
2018-07-02T01:09:54.203
28909
28909
44955
answer

[code]

    join -j 65535 -t "-" a.txt 1.txt | sed -e "s/^-//" > merge.txt
    
[/code]

emasakaさんの回答に補足。  
区切り文字の指定と行頭の区切り文字を削除しファイルへ出力


CC BY-SA 4.0
2018-06-25T01:49:22.143
45035
2018-06-25T01:57:26.827
2018-06-25T01:57:26.827
44955
answer