私はこのawkスクリプトを使用して、差次的に発現する遺伝子をフィルター処理しています。 Rで作成されたcsvファイルがあります。
#Command to get DE genes
awk -F '\t' '$14 < 0.05 && $10 < -1 && $7 > 1 { print > "Genes-Down.csv" }
$14 < 0.05 && $10 > +1 && $8 > 1 { print > "Genes-Up.csv" }' Results-RPKMs.csv
今すぐMac OSですべての分析を開始しましたが、同じコマンドが機能しません。また、エラーメッセージも表示されません。実行しても何も起こりません。他のsedコマンドでも同じ問題がありましたが、awkを使用して簡単に新しいコマンドを作成できました。ありがとうございました。
更新:MacOS X awkのバージョンは20070501ですが、Ubuntuマシンにはmawk 1.3.3が搭載されています。コマンドawk --versionは機能しません。 awk -W --versionを使用する必要がありました。だから私はそれがUbuntuで動作するがMacOSXでは動作しなかった理由だと思います。だから私はmawkをダウンロードしてfinkを使ってインストールしましたが、コマンドはMacOSXで動作します。ご協力いただきありがとうございます。
Update2:実際には問題はawkではありませんでした。通常、Rでcsvファイルを作成します。次に、スクリプトを実行してフィルタリングを実行します。 Excelでcsvファイルを開くか、Excelファイルをcsv形式で保存すると、スクリプトが機能しないことがわかります(異なる区切り文字で数回試行した)。 MacOX(Excel 2011)でスプレッドシートを.csvとして保存し、Excelで開こうとすると、SYLKファイルであると表示されます。これについては、MicrosoftのWebサイトに説明があります。 OpenOfficeを使用すると、問題なく動作します。ベスト。
私も同じ問題を抱えていました。 OSX 10.11.2にgawk
を brew でインストールすると、問題が解決しました。
~$ brew install gawk
~$ gawk --version | head -n 1
GNU Awk 4.1.4, API: 1.1 (GNU MPFR 3.1.4-p1, GNU MP 6.1.1)
~$
同じコマンド名が同じコマンドであるとは限りません。ほとんどの基本的なコマンドは実装が異なりますが、AWKは一例ですが、ほぼすべての GNU core utils はBSDライセンスで同等です。 GNU sed
とBSD sed
には注意が必要です。これも落とし穴です。
実際には、Linuxは一般にgawk
またはmawk
を使用します。
$ man awk
mawk - pattern scanning and text processing language
Mac OSは一般的にnawk
を使用します:
$ man awk
awk - pattern-directed scanning and processing language
AWK実装の詳細については、 このページ を参照してください。