Я пытаюсь создать функцию bash (basciallay, поместите в мой bashrc).
Цель состоит в том, чтобы удалить строку и столбец, проиндексированные числом (целым числом), это число является вторымаргумент функции bash ($2
), а первый аргумент - имя файла ($1
).
Я пробовал это, но не могу заставить его работать (я работаю под MacOS Mojave):
function remove_line_column() { gsed '"$2"d' $1 | awk -v ind_field=$2 '!(ind_field="")' ;}
Я делаю путаницу между expanding Shell arguments
(как "$2"
) и Shell arguments
(как только $2
).
В прямой командной строке я могу получить требуемыйрезультат (удаление 8-й строки и 8-го столбца), выполнив:
awk 'NR == 8 {next} {print}' file.txt | awk '!($8="")'
Как реализовать ее как функцию bash?
Я хотел бы вызвать ее из терминала следующим образом:
$remove_line_column file.txt 8`
Любая помощь приветствуется, С уважением