2015-12-21 1 views
1

Я пытаюсь запустить сценарий анализа bash на моем mac, но команда sed не распознает «~». Скрипт отлично работает на моей рабочей станции Linux. Мой сценарий выглядит так:Портирование команды sed из linux в mac

#!/bin/bash 
sed -n '3~9p' file.txt | awk '{print $2}' > out.dat 

Когда я бегу это на мой макинтош я получаю "СЭД: 1: "3 ~ 9P": неверный код команды ~".

+1

(Если вы не планируете распространять вас sw ..) Почему бы просто не установить другое sed (в качестве альтернативы)? Все будущие проблемы с переносом решаются раз и навсегда. –

+0

Да, я сделаю это сейчас. Благодаря! – obtmind

ответ

1

Вы можете попробовать это awk вместо sed,

awk 'BEGIN {s=3;i=9} NR==s{s+=i;print}' file.txt 

Еще более прямой путь есть,

awk 'BEGIN {s=3;i=9} NR==s{s+=i;print $2}' file.txt > out.dat 
1

Вы можете использовать GNU СЭД на вашем Маке

brew install gnu-sed 

затем он должен работать как linux