Как удалить все файлы, которые возвращаются путем поиска

У меня была аналогичная проблема после обновления моего 10.04 до 12.04 при запуске в gnome-classic (у вас не было времени испытать gnome-shell или единство)

ноутбук с i7 cpu, 8G RAM , nvidia 880M, поэтому довольно хорошая конфигурация с использованием compiz, но большинство эффектов отключены (но для меня необходим плагин Expo). Нормальные операции с окнами очень медленные, особенно переход из одного окна в другое или переключение на рабочий стол хуже с количеством открытых окон

Я проверил множество вещей:

ноутбук с i7 cpu, 8G RAM, nvidia 880M, поэтому довольно хорошая конфигурация [!d2 ] отключение большинства «sync to vblank» ==> никаких особых улучшений

Наконец, я отключил «Pluggins» «Закладки» Compiz, и все снова начинает быстро!

I не проверял больше, но с Compiz и Gnome3.4 определенно что-то не так. Надеюсь, это похоже только на некоторые pluggins.

13
задан 21 December 2010 в 15:04

33 ответа

Как уже отмечали другие главы, xargs - ваш друг.

То, что xargs делает, берет строку от ввода и добавляет ее к другой команде, выполняя эту другую команду. Это будет очень мощный инструмент, и я попытаюсь объяснить это и предоставит обходное решение для общей игры. для каждой строки на входе. Таким образом, набрав locate foobar | xargs rm -f, вывод команды locate будет исправлен в конце команды rm -f и выполнен для каждой строки, созданной locate foobar.

Получен: [!d3 ]

Но что делать, если в вашей строке (-ях) есть пробелы? Это нарушит команду rm -f, потому что аргументы, переданные в rm, должны быть файлами (если вы не используете ключ -r), а путь к файлу должен быть экранирован или указан, если он содержит пробелы.

] xargs предоставляет ключ -i, чтобы заменить вход в следующую команду, а не просто добавлять ее. Поэтому я бы изменил предложение

locate foobar | xargs -ixxx rm -f 'xxx'

, которое теперь будет только разбиваться, если имена файлов, возвращаемые локацией, содержат апострофы.

Я должен согласиться с qbi, что вы должны быть замените на конец ! Используйте флаг -p для xargs или просто запустите локатор foobar самостоятельно, прежде чем загружать его в xargs, или сбросьте -f из rm.

locate foobar | xargs -p -ixxx rm -f 'xxx'
12
ответ дан 25 May 2018 в 23:52
  • 1
    Чтобы быть надежным в отношении файлов с экзотическими символами (новые строки, кавычки, апострофы и т. Д.) В своих именах, вы можете использовать опцию -0 (--null) для поиска и xargs. Для разделения имен файлов используется безопасный символ ASCII NUL: locate -0 foobar | xargs -0 rm – Jukka Matilainen 21 December 2010 в 20:02
  • 2
    +1 для ответа и выбрано для упоминания gotcha ^ _ ^ – theTuxRacer 22 December 2010 в 09:54

Как уже отмечали другие главы, xargs - ваш друг.

То, что xargs делает, берет строку от ввода и добавляет ее к другой команде, выполняя эту другую команду. Это будет очень мощный инструмент, и я попытаюсь объяснить это и предоставит обходное решение для общей игры. для каждой строки на входе. Таким образом, набрав locate foobar | xargs rm -f, вывод команды locate будет исправлен в конце команды rm -f и выполнен для каждой строки, созданной locate foobar.

Получен:

Но что делать, если в вашей строке (-ях) есть пробелы? Это нарушит команду rm -f, потому что аргументы, переданные в rm, должны быть файлами (если вы не используете ключ -r), а путь к файлу должен быть экранирован или указан, если он содержит пробелы.

] xargs предоставляет ключ -i, чтобы заменить вход в следующую команду, а не просто добавлять ее. Поэтому я бы изменил предложение

locate foobar | xargs -ixxx rm -f 'xxx'

, которое теперь будет только разбиваться, если имена файлов, возвращаемые локацией, содержат апострофы.

Я должен согласиться с qbi, что вы должны быть замените на конец ! Используйте флаг -p для xargs или просто запустите локатор foobar самостоятельно, прежде чем загружать его в xargs, или сбросьте -f из rm.

locate foobar | xargs -p -ixxx rm -f 'xxx'
12
ответ дан 25 July 2018 в 22:42

Как уже отмечали другие главы, xargs - ваш друг.

То, что xargs делает, берет строку от ввода и добавляет ее к другой команде, выполняя эту другую команду. Это будет очень мощный инструмент, и я попытаюсь объяснить это и предоставит обходное решение для общей игры. для каждой строки на входе. Таким образом, набрав locate foobar | xargs rm -f, вывод команды locate будет исправлен в конце команды rm -f и выполнен для каждой строки, созданной locate foobar.

Получен:

Но что делать, если в вашей строке (-ях) есть пробелы? Это нарушит команду rm -f, потому что аргументы, переданные в rm, должны быть файлами (если вы не используете ключ -r), а путь к файлу должен быть экранирован или указан, если он содержит пробелы.

] xargs предоставляет ключ -i, чтобы заменить вход в следующую команду, а не просто добавлять ее. Поэтому я бы изменил предложение

locate foobar | xargs -ixxx rm -f 'xxx'

, которое теперь будет только разбиваться, если имена файлов, возвращаемые локацией, содержат апострофы.

Я должен согласиться с qbi, что вы должны быть замените на конец ! Используйте флаг -p для xargs или просто запустите локатор foobar самостоятельно, прежде чем загружать его в xargs, или сбросьте -f из rm.

locate foobar | xargs -p -ixxx rm -f 'xxx'
12
ответ дан 26 July 2018 в 23:55

Как уже отмечали другие главы, xargs - ваш друг.

То, что xargs делает, берет строку от ввода и добавляет ее к другой команде, выполняя эту другую команду. Это будет очень мощный инструмент, и я попытаюсь объяснить это и предоставит обходное решение для общей игры. для каждой строки на входе. Таким образом, набрав locate foobar | xargs rm -f, вывод команды locate будет исправлен в конце команды rm -f и выполнен для каждой строки, созданной locate foobar.

Получен:

Но что делать, если в вашей строке (-ях) есть пробелы? Это нарушит команду rm -f, потому что аргументы, переданные в rm, должны быть файлами (если вы не используете ключ -r), а путь к файлу должен быть экранирован или указан, если он содержит пробелы.

] xargs предоставляет ключ -i, чтобы заменить вход в следующую команду, а не просто добавлять ее. Поэтому я бы изменил предложение

locate foobar | xargs -ixxx rm -f 'xxx'

, которое теперь будет только разбиваться, если имена файлов, возвращаемые локацией, содержат апострофы.

Я должен согласиться с qbi, что вы должны быть замените на конец ! Используйте флаг -p для xargs или просто запустите локатор foobar самостоятельно, прежде чем загружать его в xargs, или сбросьте -f из rm.

locate foobar | xargs -p -ixxx rm -f 'xxx'
12
ответ дан 31 July 2018 в 10:43

Как уже отмечали другие главы, xargs - ваш друг.

То, что xargs делает, берет строку от ввода и добавляет ее к другой команде, выполняя эту другую команду. Это будет очень мощный инструмент, и я попытаюсь объяснить это и предоставит обходное решение для общей игры. для каждой строки на входе. Таким образом, набрав locate foobar | xargs rm -f, вывод команды locate будет исправлен в конце команды rm -f и выполнен для каждой строки, созданной locate foobar.

Получен:

Но что делать, если в вашей строке (-ях) есть пробелы? Это нарушит команду rm -f, потому что аргументы, переданные в rm, должны быть файлами (если вы не используете ключ -r), а путь к файлу должен быть экранирован или указан, если он содержит пробелы.

] xargs предоставляет ключ -i, чтобы заменить вход в следующую команду, а не просто добавлять ее. Поэтому я бы изменил предложение

locate foobar | xargs -ixxx rm -f 'xxx'

, которое теперь будет только разбиваться, если имена файлов, возвращаемые локацией, содержат апострофы.

Я должен согласиться с qbi, что вы должны быть замените на конец ! Используйте флаг -p для xargs или просто запустите локатор foobar самостоятельно, прежде чем загружать его в xargs, или сбросьте -f из rm.

locate foobar | xargs -p -ixxx rm -f 'xxx'
12
ответ дан 31 July 2018 в 11:47

Как уже отмечали другие главы, xargs - ваш друг.

То, что xargs делает, берет строку от ввода и добавляет ее к другой команде, выполняя эту другую команду. Это будет очень мощный инструмент, и я попытаюсь объяснить это и предоставит обходное решение для общей игры. для каждой строки на входе. Таким образом, набрав locate foobar | xargs rm -f, вывод команды locate будет исправлен в конце команды rm -f и выполнен для каждой строки, созданной locate foobar.

Получен:

Но что делать, если в вашей строке (-ях) есть пробелы? Это нарушит команду rm -f, потому что аргументы, переданные в rm, должны быть файлами (если вы не используете ключ -r), а путь к файлу должен быть экранирован или указан, если он содержит пробелы.

] xargs предоставляет ключ -i, чтобы заменить вход в следующую команду, а не просто добавлять ее. Поэтому я бы изменил предложение

locate foobar | xargs -ixxx rm -f 'xxx'

, которое теперь будет только разбиваться, если имена файлов, возвращаемые локацией, содержат апострофы.

Я должен согласиться с qbi, что вы должны быть замените на конец ! Используйте флаг -p для xargs или просто запустите локатор foobar самостоятельно, прежде чем загружать его в xargs, или сбросьте -f из rm.

locate foobar | xargs -p -ixxx rm -f 'xxx'
12
ответ дан 2 August 2018 в 04:08

Как уже отмечали другие главы, xargs - ваш друг.

Что такое xargs, это взять строку из ввода и добавить ее к другой команде, выполняя эту другую для каждой строки на входе. Поэтому, набрав , найдите foobar | xargs rm -f , вывод команды locate будет исправлен в конце команды rm -f и выполнен для каждой строки, созданной , найти foobar .

Получено:

Но что, если в вашей строке (-ах), найденной локацией, есть пробелы? Это нарушит команду rm -f , потому что аргументы, переданные в rm, должны быть файлами (если вы не используете ключ -r), и путь к файлу должен быть экранирован или указан, если он содержит пробелы .

xargs предоставляет ключ -i, чтобы заменил на вход в следующую команду вместо добавления. Поэтому я бы изменил предложение

  найти foobar |  xargs -ixxx rm -f 'xxx'  

, который теперь будет только разбиваться, если имена файлов, возвращаемые локацией, содержат апострофы.

Мне нужно согласиться с qbi, что вы должен быть осторожным при использовании rm -f! Используйте флаг -p для xargs или просто запустите локатор foobar самостоятельно, прежде чем подавать его на xargs, или отпустите -f из rm.

  найдите foobar |  xargs -p -ixxx rm -f 'xxx'  
12
ответ дан 4 August 2018 в 20:12

Как уже отмечали другие главы, xargs - ваш друг.

Что такое xargs, это взять строку из ввода и добавить ее к другой команде, выполняя эту другую для каждой строки на входе. Поэтому, набрав , найдите foobar | xargs rm -f , вывод команды locate будет исправлен в конце команды rm -f и выполнен для каждой строки, созданной , найти foobar .

Получено:

Но что, если в вашей строке (-ах), найденной локацией, есть пробелы? Это нарушит команду rm -f , потому что аргументы, переданные в rm, должны быть файлами (если вы не используете ключ -r), и путь к файлу должен быть экранирован или указан, если он содержит пробелы .

xargs предоставляет ключ -i, чтобы заменил на вход в следующую команду вместо добавления. Поэтому я бы изменил предложение

  найти foobar |  xargs -ixxx rm -f 'xxx'  

, который теперь будет только разбиваться, если имена файлов, возвращаемые локацией, содержат апострофы.

Мне нужно согласиться с qbi, что вы должен быть осторожным при использовании rm -f! Используйте флаг -p для xargs или просто запустите локатор foobar самостоятельно, прежде чем подавать его на xargs, или отпустите -f из rm.

  найдите foobar |  xargs -p -ixxx rm -f 'xxx'  
12
ответ дан 6 August 2018 в 04:14

Как уже отмечали другие главы, xargs - ваш друг.

Что такое xargs, это взять строку из ввода и добавить ее к другой команде, выполняя эту другую для каждой строки на входе. Поэтому, набрав , найдите foobar | xargs rm -f , вывод команды locate будет исправлен в конце команды rm -f и выполнен для каждой строки, созданной , найти foobar .

Получено:

Но что, если в вашей строке (-ах), найденной локацией, есть пробелы? Это нарушит команду rm -f , потому что аргументы, переданные в rm, должны быть файлами (если вы не используете ключ -r), и путь к файлу должен быть экранирован или указан, если он содержит пробелы .

xargs предоставляет ключ -i, чтобы заменил на вход в следующую команду вместо добавления. Поэтому я бы изменил предложение

  найти foobar |  xargs -ixxx rm -f 'xxx'  

, который теперь будет только разбиваться, если имена файлов, возвращаемые локацией, содержат апострофы.

Мне нужно согласиться с qbi, что вы должен быть осторожным при использовании rm -f! Используйте флаг -p для xargs или просто запустите локатор foobar самостоятельно, прежде чем подавать его на xargs, или отпустите -f из rm.

  найдите foobar |  xargs -p -ixxx rm -f 'xxx'  
12
ответ дан 7 August 2018 в 22:16

Как уже отмечали другие главы, xargs - ваш друг.

Что такое xargs, это взять строку из ввода и добавить ее к другой команде, выполняя эту другую для каждой строки на входе. Поэтому, набрав , найдите foobar | xargs rm -f , вывод команды locate будет исправлен в конце команды rm -f и выполнен для каждой строки, созданной , найти foobar .

Получено:

Но что, если в вашей строке (-ах), найденной локацией, есть пробелы? Это нарушит команду rm -f , потому что аргументы, переданные в rm, должны быть файлами (если вы не используете ключ -r), и путь к файлу должен быть экранирован или указан, если он содержит пробелы .

xargs предоставляет ключ -i, чтобы заменил на вход в следующую команду вместо добавления. Поэтому я бы изменил предложение

  найти foobar |  xargs -ixxx rm -f 'xxx'  

, который теперь будет только разбиваться, если имена файлов, возвращаемые локацией, содержат апострофы.

Мне нужно согласиться с qbi, что вы должен быть осторожным при использовании rm -f! Используйте флаг -p для xargs или просто запустите локатор foobar самостоятельно, прежде чем подавать его на xargs, или отпустите -f из rm.

  найдите foobar |  xargs -p -ixxx rm -f 'xxx'  
12
ответ дан 10 August 2018 в 10:27

Как уже отмечали другие главы, xargs - ваш друг.

Что такое xargs, это взять строку из ввода и добавить ее к другой команде, выполняя эту другую для каждой строки на входе. Поэтому, набрав , найдите foobar | xargs rm -f , вывод команды locate будет исправлен в конце команды rm -f и выполнен для каждой строки, созданной , найти foobar .

Получено:

Но что, если в вашей строке (-ах), найденной локацией, есть пробелы? Это нарушит команду rm -f , потому что аргументы, переданные в rm, должны быть файлами (если вы не используете ключ -r), и путь к файлу должен быть экранирован или указан, если он содержит пробелы .

xargs предоставляет ключ -i, чтобы заменил на вход в следующую команду вместо добавления. Поэтому я бы изменил предложение

  найти foobar |  xargs -ixxx rm -f 'xxx'  

, который теперь будет только разбиваться, если имена файлов, возвращаемые локацией, содержат апострофы.

Мне нужно согласиться с qbi, что вы должен быть осторожным при использовании rm -f! Используйте флаг -p для xargs или просто запустите локатор foobar самостоятельно, прежде чем подавать его на xargs, или отпустите -f из rm.

  найдите foobar |  xargs -p -ixxx rm -f 'xxx'  
12
ответ дан 13 August 2018 в 16:53
  • 1
    Чтобы быть надежным в отношении файлов с экзотическими символами (символы новой строки, кавычки, апострофы и т. Д.) В своих именах, вы можете использовать опцию -0 ( - null ) для поиска и xargs. Это использует безопасный символ ASCII NUL для разделения имен файлов: locate -0 foobar | xargs -0 rm – Jukka Matilainen 21 December 2010 в 20:02
  • 2
    +1 для ответа и выбрано для упоминания gotcha ^ _ ^ – theTuxRacer 22 December 2010 в 09:54

Возможно, вам понадобится еще несколько опций для использования с xargs. Сначала проверьте его с помощью xargs -p. Если все в порядке, удалите опцию -p:

locate foobar | xargs rm
7
ответ дан 25 May 2018 в 23:52

Чтобы удалить все файлы, возвращаемые локацией, введите следующую команду в своем терминале

locate foobar | xargs rm -f

5
ответ дан 25 May 2018 в 23:52

Чтобы удалить все файлы, возвращаемые локацией, введите следующую команду в своем терминале

locate foobar | xargs rm -f

6
ответ дан 25 July 2018 в 22:42

Возможно, вам понадобится еще несколько опций для использования с xargs. Сначала проверьте его с помощью xargs -p. Если все в порядке, удалите опцию -p:

locate foobar | xargs rm
7
ответ дан 25 July 2018 в 22:42

Чтобы удалить все файлы, возвращаемые локацией, введите следующую команду в своем терминале

locate foobar | xargs rm -f

6
ответ дан 26 July 2018 в 23:55

Возможно, вам понадобится еще несколько опций для использования с xargs. Сначала проверьте его с помощью xargs -p. Если все в порядке, удалите опцию -p:

locate foobar | xargs rm
7
ответ дан 26 July 2018 в 23:55

Чтобы удалить все файлы, возвращаемые локацией, введите следующую команду в своем терминале

locate foobar | xargs rm -f

6
ответ дан 31 July 2018 в 10:43

Возможно, вам понадобится еще несколько опций для использования с xargs. Сначала проверьте его с помощью xargs -p. Если все в порядке, удалите опцию -p:

locate foobar | xargs rm
7
ответ дан 31 July 2018 в 10:43

Чтобы удалить все файлы, возвращаемые локацией, введите следующую команду в своем терминале

locate foobar | xargs rm -f

6
ответ дан 31 July 2018 в 11:47

Возможно, вам понадобится еще несколько опций для использования с xargs. Сначала проверьте его с помощью xargs -p. Если все в порядке, удалите опцию -p:

locate foobar | xargs rm
7
ответ дан 31 July 2018 в 11:47

Чтобы удалить все файлы, возвращаемые локацией, введите следующую команду в своем терминале

locate foobar | xargs rm -f

6
ответ дан 2 August 2018 в 04:08

Возможно, вам понадобится еще несколько опций для использования с xargs. Сначала проверьте его с помощью xargs -p. Если все в порядке, удалите опцию -p:

locate foobar | xargs rm
7
ответ дан 2 August 2018 в 04:08

Возможно, вам понадобится еще несколько опций для использования с xargs . Сначала проверьте его с помощью xargs -p . Если все в порядке, удалите опцию -p :

  найдите foobar |  xargs rm  
7
ответ дан 4 August 2018 в 20:12

Чтобы удалить все файлы, возвращаемые локацией, введите следующую команду в своем терминале

найти foobar | xargs rm -f

6
ответ дан 4 August 2018 в 20:12

Чтобы удалить все файлы, возвращаемые локацией, введите следующую команду в своем терминале

найти foobar | xargs rm -f

6
ответ дан 6 August 2018 в 04:14

Возможно, вам понадобится еще несколько опций для использования с xargs . Сначала проверьте его с помощью xargs -p . Если все в порядке, удалите опцию -p :

  найдите foobar |  xargs rm  
7
ответ дан 6 August 2018 в 04:14

Чтобы удалить все файлы, возвращаемые локацией, введите следующую команду в своем терминале

найти foobar | xargs rm -f

6
ответ дан 7 August 2018 в 22:16

Возможно, вам понадобится еще несколько опций для использования с xargs . Сначала проверьте его с помощью xargs -p . Если все в порядке, удалите опцию -p :

  найдите foobar |  xargs rm  
7
ответ дан 7 August 2018 в 22:16

Чтобы удалить все файлы, возвращаемые локацией, введите следующую команду в своем терминале

найти foobar | xargs rm -f

6
ответ дан 10 August 2018 в 10:27

Другие вопросы по тегам:

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