Обработка таблицы со значениями, разделенными запятыми, в разных столбцах

[1123904] Для того, чтобы кто-то получил доступ на чтение к вашему файлу, он должен иметь разрешение на чтение этого файла и выполнить разрешение на все директории, ведущие к этому файлу. Например, чтобы разрешить Элису читать [1124353]/home/david/for_alice/foo.jar[1124354], необходимо убедиться, что Элис имеет разрешение на чтение на [1124355]foo.jar[1124356] и выполнить разрешение на [1124357]/home/david[1124358] и [1124359]/home/david/for_alice[1124360]. Разрешение на выполнение для каталога необходимо для доступа к файлам внутри этого каталога по их имени; разрешение на чтение для каталога необходимо для перечисления имен файлов в этом каталоге. Разрешение на чтение для каталогов не обязательно, но более удобно, особенно если Алиса собирается использовать графический интерфейс для просмотра файлов.

На данный момент ваш домашний каталог имеет права [1124361]rwx------[1124362], т.е. только вы можете получить доступ к файлам в нем.

Если файлы являются локальными, а инструменты ACL доступны, вы можете предоставить доступ Алисе. Следующие команды дают Элис доступ на чтение к [1124363]for_alice[1124364] и всем файлам внизу, но не позволяют ей перечислить файлы в вашем домашнем каталоге (она все еще может получить доступ к файлам в вашем домашнем каталоге, если угадает их имя):

Если ACL-инструменты невозможны, вы должны разрешить доступ для групп или всей системы.

2
13.10.2015, 08:44
1 ответ

С awk:

awk '{split($6,a,","); split($7,b,","); for(i in a){print $1,$2,$3,$4,$5,a[i],b[i]}}' file
  • awk читает входное пространство или разграниченную вкладку, значение по умолчанию: [\t] + .
  • разделение (6$",") разделило 6-е поле 6$ разделенный запятой , и хранит вывод в массиве, названном .
  • разделение (7$, b",") разделило 7-е поле 7$ разделенный запятой , и хранит вывод в массиве, названном b.
  • для (я в a) теперь канавка цикла массив...
    • распечатать..., [я], b [я] ... и распечатать значения 1$ к 5$ и два значения массива [я] и b [я] их индексами я .

вывод:

1 2 3 4 5 A1 B1
1 2 3 4 5 A2 B2
1 7 3 3 5 C1 D1
1 7 3 3 5 C2 D2
1 7 3 3 5 C3 D3
1 2 R 4 b E1 G1
1 2 R 4 b E2 G2
1 2 R 4 b E3 G3
1 2 R 4 b E4 G4
1
27.01.2020, 22:20

Теги

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