Я пытаюсь удалить группу и всех пользователей из строки разрешений. Такие, как -rwxr-xr-x
и я хочу, чтобы это было -rwx
, а затем снять дефис, чтобы сделать его rwx
Использование Вырезать для обрезки строк разрешений файлов
Сейчас я получаю строку разрешений через этот код: filePerms=$(stat --format=%A $path)
где $path
просто любой каталог в файл.
Вот моя попытка с помощью разреза, чтобы избавиться от 4-го символа и filePermsTest=$(cut -c1- $filePerms)
, но я получаю эту ошибку:
cut: invalid option -- 'r'
Try 'cut --help' for more information.
59M 2014-03-21 19:25 -rw-r--r-- ./old/VMwareTools-9.6.2-1688356.tar.gz
Вот часть команды cut
Я пытаюсь, что использование: N- from N'th byte, character or field, to end of line
для справки вот нормальный вывод моего кода (Это не имеет много общего с вопросом Это просто, чтобы дать вам справку о том, что происходит и как это будет использоваться.):
Size Date Time Permissions File
--------------------------------------------------------
59M 2014-03-21 19:25 -rw-r--r-- ./old/VMwareTools-9.6.2-1688356.tar.gz
9.2M 2014-03-21 19:24 -rw-r--r-- ./old/vmware-tools-distrib/lib/icu/icudt44l.dat
7.6M 2013-07-07 21:21 -rwxr-xr-x ./old/Sublime Text 2/sublime_text
4.8M 2014-08-26 23:51 -rwxrwxr-x ./old/sublime_text_3/sublime_text
Я думаю, что часть строки разрешения принимается как аргумент.
Каков ваш ожидаемый результат? –
Чтобы получить символы 2-4 из строки разрешений. Например, '-rw-r-r -' to 'rw-' – Angel
Почему вы не используете 'ls -l' вместо' stat'? Разрешения - это первый столбец вывода 'ls -l' – helloV