cp и mv, используя подстановочные знаки и забыв указать каталог назначения.

Если ваш входной файл разделен табуляцией, вы можете попробовать следующее:

awk -F"\t" -v q="'" -v OFS="','" '$1=$1 {print "(" q $0 q ");"}' filename

Или вставить кавычки в функцию печати:

awk -F"\t" -v OFS="','" '$1=$1 {print "(" "\x27" $0 "\x27" ");"}' filename
1
18.12.2019, 16:56
1 ответ

Единственный плоский[1] ответ (ИМХО )— создать функцию оболочки.

Что-то вроде:

cy() { cp -i "$@"; }

Использование нового имени(cy[2] )гарантирует, что если решение не было установлено в какой-либо системе, ничего не будет выполнено. И решение может работать на любой системе. Он даже может проверить, существует ли какая-либо версия утилиты в системе перед ее использованием, или просто выдать ошибку/предупреждение.

Тогда можно будет использовать все/любое из перечисленных вами решений.

[1] не делать предварительных -суждений (или просто давать мнения )о возможных решениях или источниках (GNU ).[2] выберите имя cy,co(FWIW,co — это команда проверки RCS)или какая-либо другая, которая имеет смысл для вас как пользователя и имеет наименьшую вероятность коллизии в системах, где она будет использоваться.

1
27.01.2020, 23:40

Теги

Похожие вопросы