Как выбрать случайную выборку из n строк из каждого файла в каталоге

Так как у вас достаточно места в /home , переместите все вещи из /srv в /home , затем (необязательно) переместите вещи, которые были в /home , в корневой раздел.

Самое простое решение, если вы не возражаете против простоя в течение нескольких минут, это переместить /srv в более крупный раздел и симулировать его:

mv /srv /home
ln -s /home/srv /

Если вы действительно хотите переместить /home в корневой раздел, то потребуется несколько переименований. Предполагается, что каталог /home/srv или /srv/srv отсутствует.

mv /srv home
mkdir /srv
mount --move /home /srv
mv /srv/acme … /home/
mv /srv/srv/* /srv
rmdir /srv/srv

Наконец (если вы не используете метод символической ссылки) отредактируйте /etc/fstab , чтобы изменить точку монтирования: в строке, начинающейся с /dev/sda9/home , замените /home на /srv .

-121--291824-

Хотя вы говорите, что telnet не виновен, я бы проверил, что забрал его.

Пробовали ли вы следующее?

socat UNIX-CONNECT:/tmp/vbox.port tcp:some.remote.host:23

Это должно быть само по себе 8-битным.

-121--291819-

Вот мой xorg.conf, sans comments, для ноутбука с чипом Nvidia. Вы можете начать с этого и отредактировать его.

Вы также пытаетесь запустить инструмент nvidia-xconfig, но он не создает соответствующие конфигурационные элементы для современных серверов xorg. Но можно вырезать и вставить часть драйвера и добавить ее в эту.

Section "Files"
    FontPath    "/usr/share/fonts/misc"
    FontPath    "/usr/share/fonts/Type1"
    FontPath    "/usr/share/fonts/TTF"
    FontPath    "/usr/share/fonts/75dpi"
    FontPath    "/usr/share/fonts/100dpi"
    FontPath    "/usr/share/fonts/aquafont"
    FontPath    "/usr/share/fonts/urw-fonts"
    FontPath    "/usr/share/fonts/corefonts"
    FontPath    "/usr/share/fonts/sgi-fonts"
    FontPath    "/usr/share/fonts/cronyx"
    FontPath    "/usr/share/fonts/cyrillic"
    FontPath    "/usr/share/fonts/essays1743"
    FontPath    "/usr/share/fonts/freefonts"
    FontPath    "/usr/share/fonts/freefont-ttf"
    FontPath    "/usr/share/fonts/libertine-ttf"
    FontPath    "/usr/share/fonts/intlfonts"
    FontPath    "/usr/share/fonts/terminus"
    FontPath    "/usr/share/fonts/ttf-bitstream-vera"
    FontPath    "/usr/share/fonts/unifont"
    FontPath    "/usr/share/fonts/dejavu"
    FontPath    "/usr/share/fonts/mplus-outline-fonts"
    FontPath    "/usr/share/fonts/OTF"
    FontPath    "/usr/share/fonts/Speedo"
    FontPath    "/usr/share/fonts/stix-fonts"
    FontPath    "/usr/share/fonts/tengwar-fonts"
    FontPath    "/usr/share/fonts/thaifonts-scalable"
    FontPath    "/usr/share/fonts/unfonts"
    FontPath    "/usr/share/fonts/urwvn-fonts"
    FontPath    "/usr/share/fonts/vdrsymbols-ttf"
    FontPath    "/usr/share/fonts/liberation-fonts"
    FontPath    "/usr/share/fonts/arphicfonts"
    FontPath    "/usr/share/fonts/culmus"
    FontPath    "/usr/share/fonts/droid"
    FontPath    "/usr/share/fonts/efont-unicode"
    FontPath    "/usr/share/fonts/farsi-fonts"
    FontPath    "/usr/share/fonts/mathematica-fonts"
    FontPath    "/usr/share/fonts/mikachan-font-ttf"
    FontPath    "/usr/share/fonts/opendesktop-fonts"
    FontPath    "/usr/share/fonts/proggy-fonts"
    FontPath    "/usr/share/fonts/unifont"
    FontPath    "/usr/share/fonts/webby-fonts"
EndSection


Section "Module"
    Load    "dbe"
    SubSection  "extmod"
    Option  "omit xfree86-dga"
        Option  "omit apm"
    EndSubSection
    Load    "glx"
    Load    "v4l"
EndSection




Section "ServerFlags"
    Option  "blank time"    "5" # 10 minutes
    Option  "standby time"  "10"
    Option  "suspend time"  "20"
    Option  "off time"  "30"
EndSection

Section "DRI"
    Mode 0666
EndSection

Section "Monitor"
    Identifier  "MetaMonitor"
    Option      "DPMS"
EndSection

Section "Device"
    Identifier  "Nvidia"
    Driver  "nvidia"
    VendorName  "NVIDIA Corporation"
    BoardName   "Quadro FX 2800M"
EndSection

Section "InputClass"
    Identifier "synaptics"
    MatchIsTouchpad "on"
    Driver "synaptics"
    #Option "SHMConfig" "on"
    Option "VertTwoFingerScroll" "on"
EndSection

Section "Screen"
    Identifier  "Screen1"
    Device  "Nvidia"
    Monitor "MetaMonitor"
    DefaultDepth 24
    Option         "TwinView" "1"
    Option         "metamodes" "DFP-0: nvidia-auto-select +0+0, DFP-1: nvidia-auto-select +1920+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection


Section "ServerLayout"
    Identifier  "Main Layout"
    Screen  0 "Screen1" 0 0
    Option         "Xinerama" "0"
EndSection
0
17.04.2018, 19:11
1 ответ
mkdir -p random_samples
find dir -type f -exec sh -c 'for n do sort -R "$n" | head >"random_samples/${n##*/}"; done' sh {} +

Это будет искать все обычные файлы в dirили ниже и запускать короткий сценарий оболочки для них:

for n do
    sort -R "$n" | head >"random_samples/${n##*/}"
done

Этот короткий сценарий оболочки будет циклически перебирать заданные пути (, которые будут обычными файлами, найденными find), и будет запускать sort -Rна каждом из них. Это приведет к перетасовке строк, и headвыдаст десять первых строк каждой перетасовки. Вывод будет отправлен в каталог random_samplesс именем файла, совпадающим с исходным файлом. Проверка конфликтов имен файлов в random_samplesне выполняется.

Вместо sort -Rвы также можете использовать shufиз GNU coreutils.

Единственным недостатком является то, что порядок строк в случайных выборках будет случайным, т. е. строки в случайных выборках не будут упорядочены в соответствии с их первоначальным порядком в файле.

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

for n do
    awk -v OFS="\t" "{ print NR, \$0 }" "$n" | sort -R | head | sort -n |
    cut -f 2 >"random_samples/${n##*/}"
done

Это начинается с добавления к каждой строке файла номера строки (и табуляции ), а затем мы перемешиваем строки и выбираем первые 10, как и раньше. Затем выбранные строки сортируются по номерам, и номера строк удаляются перед сохранением выборки.

Разрешение findзапуска этого:

find dir -type f -exec sh -c '
    for n do
        awk -v OFS="\t" "{ print NR, \$0 }" "$n" | sort -R | head | sort -n |
        cut -f 2 >"random_samples/${n##*/}"
    done' sh {} +

Чтобы выбрать больше или меньше 10 линий, измените headна head -n NUM, где NUM— желаемое количество линий для выбора.

0
28.01.2020, 04:25

Теги

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