I have this awk script that I use to filter genes that are differentially expressed. I have a csv file that was created in R.
#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
I started doing all my analyses on Mac OS now and the same command does not work. It also does not give any error message. It runs and nothing happens. I also had same problems with other sed commands, but it was easy to make new ones using awk.
Update: The MacOS X awk is version 20070501. However, the Ubuntu machine has mawk 1.3.3. The command awk --version wouldn't work. Had to use awk -W --version. So I think that is why it works on Ubuntu but was not working in MacOSX. So I downloaded mawk and installed it using fink and now the command works in MacOSX. Thanks for your help.
Update2: Actually the problem was not awk. Usually I create the csv files in R. Then I just run the script to do the filtering. Turns out that if I open the csv files in Excel or save an Excel file in csv format then the script does not work (tried several times with different delimiters). Apparently if you save a spreadsheet as .csv in MacOX (Excel 2011) and try to open it back in Excel it says that it is a SYLK file. There is a description of this on Microsoft website. If I use OpenOffice, it works just fine.
In general, both will have the same core commands and features (especially those defined in the Posix standard), but a lot of extensions will be different. For example, linux systems generally have a useradd command to create new users, but OS X doesn't.
The command line functionality on Mac and Linux are indeed similar as OS X has a flavour of UNIX (called Darwin) underneath the GUI that you see. The default shell on OS X is bash, so if you're familiar with that you will adjust nicely. On a Mac, the default command line application is Terminal.
Awk is a pro terminal command for data processing built right into your Mac, but that's not all it is. It also has the power and capabilities of a general-purpose programming language. And while you won't be writing the next big app in awk, you get access to an incredible range of functionality within the language.
As mentioned by others, bash is the same bash (other than the already noted versions) but Mac OS X uses a (mostly) BSD userland. Many of the standard system utilities have slightly different options or behave slightly differently. They're unfortunately too numerous to list here.
I also had the same problem. Installing gawk
on OSX 10.11.2 through brew solved my issue.
~$ 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)
~$
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With