2017-11-02 3 views
0

psudocodeでは、カラム4がNULLの場合はカラム4をカラム1に置き換えようとしています。それ以外の場合は、列4を同じにします。私は現在、これをしようとしている行を変更されていないと私はなぜわからない: 例データ:条件を満たす場合にカラムを別のカラムに置き換える場合は、

grep NULL matrix.txt 

AAGGGCCCGGGGGG 0 0 3 NULL

grep NULL matrix.txt | awk -F/t '{ $34 = ($34 == "NULL" ? $1 : $34) } 1' 

は私を与える必要があります。

AAGGGCCCGGGGGG

ありがとうございます!

+0

なしawk'が同様に検索を行うことができます '以来、' grep'を使用する必要が動作しません – CWLiu

答えて

3

あなたのawkを変更

あなたが5thフィールドを確認する必要があるとして、$5$34に代わるものではありませ34th

また/tが正しくありません。タブの場合は\tにする必要があります。ところで、それはまた-F "\t"

echo "AAGGGCCCGGGGGG 0 0 3 NULL" | awk ' $5=="NULL"{$5=$1} 1' 
+0

それは実際には5日ですが、そうではありません。私はなぜOPが4位になったのか分かりませんが、この例では5位のように見えます。 – janos

+0

@janos:おっと。janosを訂正してくれてありがとう。私はそれに注意を払わなかった。 – batMan

+0

@ヤノスOPは* 4列目ではなく、4列目であると言いました。私は、OPはカラム番号がawkで '0'で始まると考えていると思います。 – hek2mgl

関連する問題