I'm trying to add a column (with the content '0') to the middle of a pre-existing tab-delimited text file. I imagine sed
or awk
will do what I want. I've seen various solutions online that do approximately this but they're not explained simply enough for me to modify!
I currently have this content:
Affx-11749850 1 555296 CC
I need this content
Affx-11749850 1 0 555296 CC
Using the command awk '{$3=0}1'
filename messes up my formatting AND replaces column 3 with a 0, rather than adding a third column with a 0.
Any help (with explanation!) so I can solve this problem, and future similar problems, much appreciated.
Using the implicit { print }
rule and appending the 0
to the second column:
awk '$2 = $2 FS "0"' file
Or with sed
, assuming single space delimiters:
sed 's/ / 0 /2' file
Or perl
:
perl -lane '$, = " "; $F[1] .= " 0"; print @F'
awk '{$2=$2" "0; print }' your_file
tested below:
> echo "Affx-11749850 1 555296 CC"|awk '{$2=$2" "0;print}'
Affx-11749850 1 0 555296 CC
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