Отображение файла с grep

Это частичный ответ, поскольку он гипотетический, и спрашивающий не думает, что они сделали все следующее.

Как упоминалось в комментариях от Ральфа Рёнквиста , «Mac использует ^ M в качестве окончания строки, Windows использует ^ M ^ J , а в Unix используется ^ J ". Vim может работать со всеми тремя форматами. Например, вы можете создать новый файл и указать, который будет использоваться при сохранении, с помощью (например) : set ff = mac .

Если вы открываете файл с помощью vim, он может автоматически определять кодировку и соответствующим образом отображать новые строки. Однако vim будет рассматривать только форматы, указанные в fileformats .Следовательно, если fileformats = unix, dos , то vim никогда не будет рассматривать открытие файла в формате Mac. Итак, если вы создали файл в Mac vim (то есть с символом новой строки Mac), а затем открыли файл в Linux vim (то есть с fileformats = unix, dos ), то вы увидите ^ M вместо символов новой строки. Возможно, вы обработали весь файл на Mac после создания.

Еще один момент, который следует учитывать, если вы можете создать файл в одном формате, а затем добавить его к файлу с помощью echo foo >> filename . Если исходный формат - Mac, а вы добавляете его в Linux, то файл будет содержать смесь форматов. Предполагая, что форматы файлов установлены свободно (например, fileformats = unix, dos, mac , vim в этом случае выбирает формат Mac.

1
14.04.2019, 04:44
1 ответ

$irndbчитается как одна переменная с именем irndb. Вы можете изменить синтаксический анализ, чтобы использовать только iв качестве имени переменной с помощью${i}rndb:

for i in {1..1000}
do
        MotifPSSM../source/FruR-DPInteract.txt genrand/randomseq_${i}rndb > motifoutput/output_$i
done

Цикл forсам по себе был в порядке, включая расширение фигурной скобки {1..1000}, так что вам не нужно его менять.

2
27.01.2020, 23:30

Теги

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