Konwertuję plik CSV na format tabeli, a następnie napisałem skrypt AWK i zapisałem go jako my.awk. Oto mój skrypt:Jak uruchomić plik .awk?
#AWK for test
awk -F , '
BEGIN {
aa = 0;
}
{
hdng = "fname,lname,salary,city";
l1 = length($1);
l13 = length($13);
if ((l1 > 2) && (l13 == 0)) {
fname = substr($1, 2, 1);
l1 = length($3) - 4;
lname = substr($3, l1, 4);
processor = substr($1, 2);
#printf("%s,%s,%s,%s\n", fname, lname, salary, $0);
}
if ($0 ~ ",,,,")
aa++
else if ($0 ~ ",fname")
printf("%s\n", hdng);
else if ((l1 > 2) && (l13 == 0)) {
a++;
}
else {
perf = $11;
if (perf ~/^[0-9\.\" ]+$/)
type = "num"
else
type = "char";
if (type == "num")
printf("Mr%s,%s,%s,%s,,N,N,,\n", $0,fname,lname, city);
}
}
END {
} ' <life.csv> life_out.csv*
Jak mogę uruchomić ten skrypt na serwerze Unix? Próbowałem uruchomić ten plik my.awk za pomocą polecenia:
awk -f my.awk life.csv
możesz wyjście rury z czymś takim ogonem -f' '' awk' się w skrypcie powłoki? Mógłbym więc ustawić plik dziennika, a następnie przeprowadzić przetwarzanie za pomocą awk, a następnie wyświetlić go na ekranie? –
Właściwie wygląda na to, że odpowiedź na pytanie "stoggy" jest tym, czego szukam. –