Удаление только моих файлов в Unix [закрыто]

Для Delphi 2010 вам необходимо создать свою собственную функцию split.

function Split(const Texto, Delimitador: string): TStringArray;
var
  i: integer;
  Len: integer;
  PosStart: integer;
  PosDel: integer;
  TempText:string;
begin
  i := 0;
  SetLength(Result, 1);
  Len := Length(Delimitador);
  PosStart := 1;
  PosDel := Pos(Delimitador, Texto);
  TempText:=  Texto;
  while PosDel > 0 do
    begin
      Result[i] := Copy(TempText, PosStart, PosDel - PosStart);
      PosStart := PosDel + Len;
      TempText:=Copy(TempText, PosStart, Length(TempText));
      PosDel := Pos(Delimitador, TempText);
      PosStart := 1;
      inc(i);
      SetLength(Result, i + 1);
    end;
  Result[i] := Copy(TempText, PosStart, Length(TempText));
end;

Вы можете ссылаться на него как таковой

type
  TStringArray = array of string;
var Temp2:TStringArray;
Temp1="hello:world";
Temp2=Split(Temp1,':')
13
задан jjnguy 28 April 2009 в 15:03
поделиться

6 ответов

Вы были очень близки. Попробуйте:

rm `ls -la | grep 'myid' | awk ' { print $9 } '`

Обратите внимание, что это обратные пометки, а не одиночные кавычки, окружающие первые три сегмента из вашего исходного конвейера. Также для меня столбец имени файла был $ 8, но если $ 9 является правильным столбцом для вас, то это должно сделать это.

16
ответ дан 1 December 2019 в 17:31
поделиться
find . -user myuser -print0 |xargs -0 rm

Введите свой собственный идентификатор пользователя (или, возможно, номер пользователя) для «myuser».

15
ответ дан 1 December 2019 в 17:31
поделиться

rm не читает из stdin.

find -user $ (whoami) -delete

Пожалуйста, всегда проверяйте без удаления первым.

12
ответ дан 1 December 2019 в 17:31
поделиться

Попробуйте с помощью найти , где можно найти файлы, принадлежащие пользователю, а затем удалить их:

find . -user *username* -delete 

Дополнительная информация: man find

5
ответ дан 1 December 2019 в 17:31
поделиться

rm не принимает список файлов для удаления на stdin (это то, что вы делаете, передавая его по каналу.

Попробуйте это

find . -type f -user username -exec rm -f {} \;
3
ответ дан 1 December 2019 в 17:31
поделиться

Вы можете использовать find:

find . -maxdepth 1 -type f -user myid -print0 | xargs -0 rm -f 

Удалите -maxdepth 1, если вы хотите, чтобы он также обрабатывал подкаталоги.

1
ответ дан 1 December 2019 в 17:31
поделиться
Другие вопросы по тегам:

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