Возьмите первые 10 символов строк в файле fastq

  1. Обновите список пакетов, посмотрите, исправляет ли это.

  2. Используйте другой инструмент, например aptitude, чтобы выбрать версии вручную и разрешить конфликт. Пользовательскому интерфейсу нужно некоторое время, чтобы привыкнуть к нему, но это здорово, чтобы спасти испорченные зависимости.

0
24.02.2017, 18:47
3 ответа
$ sed -E '/^[^@+]/s/^(.{10}).*$/\1/' fastq

Это выполнит замену во всех строках, не начинающихся с @ или + . Подстановка заменит всю строку только первыми 10 символами в строке.

Альтернативная формулировка:

$ sed -E 's/^([^@+].{10}).*$/\1/' fastq
3
28.01.2020, 02:25

Perl

perl -lpe '/^[@+]/ or $_ = (unpack "A10A*")[0]'  your_fastq_file

Sed

sed -ne '/^[^@+]/s/./&\n/10;P'  your_fastq_file

Bash

dots10=$(yes '.' | head -10 | tr -d '\n')
while IFS= read -r line
do
   case $line in [!@+]* ) expr "$line" : "\($dots10\)";; * ) echo "$line";; esac
done < your_fastq_file
0
28.01.2020, 02:25

awk

awk '{print /^@/ ? $0 : substr($0,1,10)}' file

bash

while IFS= read -r line; do 
    [[ $line == @* ]] && echo "$line" || echo "${line:0:10}"
done < file
1
28.01.2020, 02:25

Теги

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