Что будет первым, для проверки прав записи / создания: или проверки квоты?

Следующий сценарий sed предполагает, что разделитель полей является космосом. Если это вкладка, измените пространство в обеих командах s/// sed на \t .

Первая строка имеет идентификатор , вторая и последующие строки имеют $ num .

$ num=1
$ sed -e "1 s/$/ id/ ; 2,$ s/$/ $num/" input.txt 
A B C D E id
2 79 56 SD L 1
1 09 67 JK S 1
9 60 37 KD G 1
0 10 47 SO E 1
-121--145312-

С помощью zsh :

autoload zmv # best in ~/.zshrc
zmv '*(#q^/)' '${(L)f}'

переименование файлов любого типа, кроме каталога. Или:

zmv '*(#q.)' '${(L)f}'

Переименование только обычных файлов. Чтобы включить скрытые файлы, добавьте квалификатор D glob.

Пример (использование -n для сухого прогона):

$ ls -alQF
total 132
drwxr-xr-x   3 stephane stephane   4096 Oct 27 09:11 "."/
drwxr-xr-x 533 stephane stephane 122880 Oct 27 09:11 ".."/
drwxr-xr-x   2 stephane stephane   4096 Oct 27 09:07 "DIR"/
lrwxrwxrwx   1 stephane stephane      3 Oct 27 09:07 "DIR-LINK" -> "DIR"/
prw-r--r--   1 stephane stephane      0 Oct 27 09:07 "FIFO"|
-rw-r--r--   1 stephane stephane      0 Oct 27 09:11 ".HIDDEN FILE"
-rw-r--r--   1 stephane stephane      0 Oct 27 09:07 "HOLIDAYS IN МОСВА\nRED SQUARE.JPG"
lrwxrwxrwx   1 stephane stephane     23 Oct 27 09:08 "MY-RÉSUMÉ.PDF" -> "STÉPHANE'S RÉSUMÉ.PDF"
-rw-r--r--   1 stephane stephane      0 Oct 27 09:07 "--READ-ME--.TXT"
srwxr-xr-x   1 stephane stephane      0 Oct 27 09:09 "SOCKET"=
-rw-r--r--   1 stephane stephane      0 Oct 27 09:07 "STÉPHANE'S RÉSUMÉ.PDF"

$ zmv -n '*(#q^/)' '${(L)f}'
mv -- DIR-LINK dir-link
mv -- FIFO fifo
mv -- HOLIDAYS\ IN\ МОСВА$'\n'RED\ SQUARE.JPG holidays\ in\ мосва$'\n'red\ square.jpg
mv -- MY-RÉSUMÉ.PDF my-résumé.pdf
mv -- --READ-ME--.TXT --read-me--.txt
mv -- SOCKET socket
mv -- STÉPHANE\'S\ RÉSUMÉ.PDF stéphane\'s\ résumé.pdf

$ zmv -n '*(#q.)' '${(L)f}'
mv -- HOLIDAYS\ IN\ МОСВА$'\n'RED\ SQUARE.JPG holidays\ in\ мосва$'\n'red\ square.jpg
mv -- --READ-ME--.TXT --read-me--.txt
mv -- STÉPHANE\'S\ RÉSUMÉ.PDF stéphane\'s\ résumé.pdf

$ zmv -n '*(#qD.)' '${(L)f}'
mv -- .HIDDEN\ FILE .hidden\ file
mv -- HOLIDAYS\ IN\ МОСВА$'\n'RED\ SQUARE.JPG holidays\ in\ мосва$'\n'red\ square.jpg
mv -- --READ-ME--.TXT --read-me--.txt
mv -- STÉPHANE\'S\ RÉSUMÉ.PDF stéphane\'s\ résumé.pdf

Посмотрите, как некоторые из них могут разорвать некоторые символические связи.

0
28.03.2018, 02:10
1 ответ

Вы можете писать в файл только после того, как вы его открыли. Когда вы открываете его, выполняются проверки разрешений. Теоретически можно утверждать, что для запроса на чтение -дескриптора файла записи состояние квоты может быть проверено, но поскольку вам нужен доступ на запись для усечения файла, а квота никогда не должна препятствовать освобождению пространства, я предполагаю, что это не так..

Таким образом, согласно порядку open()и write()проверка разрешений всегда должна быть на первом месте.

2
28.01.2020, 02:32

Теги

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