Es posible que esto no se aplique directamente a su problema, pero encontré que este síntoma probablemente, en mi caso, sea causado por mi editor -de -elección 'mcedit' (Midnight Commander)
Para aliviar el problema del error, agregué la siguiente función a mi archivo.bashrc:
### vvv 'function mcedit' is a fix-up for the ~0/~1 paste problem
function mcedit() { command mcedit $@ ; printf '\e[?2004l' ; }
Luego 'fuente.bashrc'
Ahora, cada vez que ejecuto 'mcedit', agrega automáticamente 'printf "\e[?2004l"' cuando cierro para restablecer el "Modo de pegado entre paréntesis"
Funciona para mí, YMMV.
El mismo enfoque se puede utilizar con vi, vim, nano o cualquier otro programa que se comporte mal.
Переменные оболочки и переменные Awk — это разные вещи.
Если вы экспортируете переменную в среду, вы можете получить к ней доступ через ENVIRON
массив awk -, чтобы вы могли сделать (примечание :Я пропустил find
, так как это не главное в проблеме)
export OUT_FOLDER="/home/dir/output/"
awk '{print toupper($0) >> ENVIRON["OUT_FOLDER"] FILENAME "_cap.txt"}'
Кроме того, вы можете передавать переменные с помощью опции -v
OUT_FOLDER="/home/dir/output/"
awk -v out_folder="$OUT_FOLDER" '{print toupper($0) >> out_folder FILENAME "_cap.txt"}'