Как проанализировать XML к CSV со сценарием оболочки?

Число режима полных полномочий является 4-разрядным восьмеричным числом, хотя большую часть времени, Вы только используете 3 младших значащих цифры. Сложите каждую группу в строке полномочий, беря r=4, w=2, x=1. Например:

 421421421
-rwxr-xr--
 \_/        -- r+w+x = 4+2+1 = 7
    \_/     -- r+_+x = 4+0+1 = 5
       \_/  -- r+_+_ = 4+0+0 = 4     => 0754

Теперь, иногда Вы будете видеть нечетный modestring как это:

-rwsr-xr-T

Четвертая цифра перегружается на x биты в modestring. Если Вы видите букву кроме x там, затем это означает, что один из этих "специальных" четырех-разрядных битов установлен, и если буква является нижним регистром, то x поскольку то положение также установлено. Таким образом, перевод для этого:

   4  2  1
 421421421
-rwsr-xr-T
   +  +  +  -- s+_+T = 4+0+1 = 5  
 \_/        -- r+w+s = 4+2+1 = 7  (s is lowercase, so 1)
    \_/     -- r+_+x = 4+0+1 = 5
       \_/  -- r+_+T = 4+0+0 = 4  (T is uppercase, so 0)   => 05754

Стандартный UNIX способ показать, что число является восьмеричным, должен запустить его с нуля. GNU chmod примет режим, который Вы даете ему, является восьмеричным так или иначе, но является самым безопасным предварительно ожидать нуль.

Наконец, если Вы видите a + в конце modestring:

-rwxr-xr-x+

затем это означает, что файл расширил полномочия, и Вам будут нужны больше, чем chmod. Изучите setfacl и getfacl команды, для начинающих.

0
22.09.2016, 13:52
1 ответ

Вы могли использовать Xmlstarlet (иначе xml) как преобразователь XSLT и запись определенный CSV преобразовывают, как упомянуто здесь https://stackoverflow.com/a/952389/1481060

3
28.01.2020, 02:28

Теги

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