Почему мой “d” повреждался, когда я завинтил связывание?

xargs и find комбинация

Демонстрация:

Мои файлы:

[root@mail tmp]# find data/ -type f
data/A/d.txt
data/A/b.txt
data/A/a.txt
data/A/c.txt
data/B/e.txt
data/B/g.txt
data/B/f.txt
data/B/i.txt

Исключите список

[root@mail tmp]# cat exclude 
data/A/a.txt
data/B/e.txt

найдите с xargs

[root@mail tmp]# find data/ -type f $( xargs  -I{} echo -n " -not -path {} " < exclude )
data/A/d.txt
data/A/b.txt
data/A/c.txt
data/B/g.txt
data/B/f.txt
data/B/i.txt

Кажется, что Вывод в порядке, позвольте, удаляют, но прежде чем это удостоверяется, что вывод следующей команды в порядке, затем можно удалить предпоследний echo команда.

[root@mail tmp]# find data/ -type f $( xargs  -I{} echo -n " -not -path {} " < exclude ) | xargs -n1 echo rm -rf
rm -rf data/A/d.txt
rm -rf data/A/b.txt
rm -rf data/A/c.txt
rm -rf data/B/g.txt
rm -rf data/B/f.txt
rm -rf data/B/i.txt
3
17.02.2014, 03:27
1 ответ

почему я не могу ответить [11586] почему[11587] это происходит, кажется, что если 1-й токен команды чтения содержит одну или несколько дас ([11588]-[11589]), то символ, следующий за последним тире, будет развязан от команды [11590]selfinsert[11591]. [1298], например, следующий символ отключит ключ [11592]p[11593].[1299]

2
27.01.2020, 21:28

Теги

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