Открытие более 10 файловых дескрипторов с помощью ksh

С помощью GNU sed (предполагая, что поля на входе разделены табуляцией):

sed 's/\t//9g'

Удаляет 9-й и последний символы табуляции в каждой строке.

Если во входных данных более 16 полей и вам не нужны лишние:

cut -f 1-16 | sed 's/\t//9g'
3
18.01.2016, 00:35
1 ответ

В ksh вы можете использовать только одну цифру для явного дескриптора файла. С ksh93r и выше вы можете открыть более 10 файловых дескрипторов, используя форму:

{var}>filename

( bash и zsh скопировали эту функцию позже) .

ksh выберет доступный дескриптор файла больше или равный 10, сохранит номер дескриптора файла в переменной var :

$ exec {var1}>/tmp/test1
$ echo "$var1"
10
$ exec {var2}>/tmp/test2
$ echo "$var2"
11
3
27.01.2020, 21:22

Теги

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