Я нашел этот ответ:https://askubuntu.com/questions/101029/how-do-i-mount-a-cifs-share
которые точно достигают того, что мне нужно, я просто не знал о mount.cifs .
В конце концов, вот что я сделал:
$ sudo apt install cifs-utils
$ mkdir /media/short/
$ sudo mount -t cifs -o username=yourUserName //serv.er.name/storage/ /media/short/
окончательный рабочий раствор:
cat./${file}.tmp2.mt940 | gawk -F '/^:60F:/ or
/^:60M:/ or
/^:61:/ or
/^:62F:/ or
/^:62M:/' '{if (match($0, /^(.*)(PLN|C|D)([0-9]+),([0-9]+)$/, p)) {
printf("%s%s%012d,%02d\n", p[1], p[2], p[3], p[4]);
} else
print $1
}' > ${file}.mt940
Это бит awk вард в POSIXawk
:
/^:60F:/ ||
/^:60M:/ ||
/^:61:/ ||
/^:62F:/ ||
/^:62M:/ {
n1 = match($0, /(PLN|C|D)[0-9]+,[0-9]+$/);
if (n1) {
p1 = substr($0, 0, n1-1);
r1 = substr($0, n1);
n2 = match(r1, /[0-9]/);
p2 = substr(r1, 0, n2-1);
r2 = substr(r1, n2);
n3 = index(r2, ",");
p3 = substr(r2, 0, n3-1);
p4 = substr(r2, n3+1);
printf("%s%s%012d,%02d\n", p1, p2, p3, p4);
next;
}
}
1
Если вы можете использовать gawk
, это намного лучше:
/^:60F:/ ||
/^:60M:/ ||
/^:61:/ ||
/^:62F:/ ||
/^:62M:/ {
if (match($0, /^(.*)(PLN|C|D)([0-9]+),([0-9]+)$/, p)) {
printf("%s%s%012d,%02d\n", p[1], p[2], p[3], p[4]);
next;
}
}
1