find не может перечислить все файлы

linemod50(){
        dd bs=51 skip="$(($1/50))" count=1 | {
            dd bs=1 count="$(($1%50-!!($1%50)))"
            IFS= read -r rem
            printf "*%s\n" "$rem"
        }   2 >/dev/null
    }
    i=      forty9=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVW
    while   [ "$((i+=1))" -le 50 ]
    do      echo "$((i%10))$forty9"
    done    >file
    linemod50 478 <file

1+0 records in
1+0 records out
51 bytes (51 B) copied, 9.5153e-05 s, 536 kB/s
0abcdefghijklmnopqrstuvwxyz*ABCDEFGHIJKLMNOPQRSTUVW

Это, вероятно, наиболее эффективное решение, потому что dd будет просто искать прямо к вашему смещению. Однако он не работает с широкими символами и может привести к неожиданным результатам при вводе по конвейеру.

Это отличное решение с возможностью поиска ввода в локали C.

0
08.03.2018, 10:31
2 ответа

deman find:

   -name pattern
          Base of file name (the path with the leading directories removed) matches
          shell pattern pattern.

El primer formato(-name "*x86_64-linux-gnu*")solo coincide con los archivos cuyo nombre coincide con pattern. Si están en un directorio cuyo nombre coincide con el patrón, no coincidirán. Sin embargo, el último formato(-name "*"congrep)coincide con estos.

2
28.01.2020, 02:15

Si está buscando todos los archivos cuyas rutas contienen x86-64-linux-gnu, necesita usar -path, no-name:

find /usr -path "*x86_64-linux-gnu*" | wc -l

-namesolo coincide con el nombre del archivo base, mientras que -pathcoincide con la ruta completa (construida por find, por lo que comienza con una de las rutas iniciales proporcionadas en la línea de comando ). Mirar la salida de su primer comando ilustrará esto:

find /usr -name "*x86_64-linux-gnu*" | less

Verá archivos y directorios que coinciden con x86_64-linux-gnu, como /usr/include/x86_64-linux-gnu, /usr/lib/ccache/x86_64-linux-gnu-g++, /usr/lib/python3.5/lib-dynload/_bz2.cpython-35m-x86_64-linux-gnu.so, pero no /usr/include/x86_64-linux-gnu/curlcon el que coinciden su variante grepo la variante -pathanterior.

Estas dos expresiones y su uso apropiado se analizan en detalle en la página de manual de find(1)(como siempre, mire primero man finden su propio sistema ).

4
28.01.2020, 02:15

Теги

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