Печатать только несколько первых символов

Vagrant не ведет никаких журналов. Вывод, например, vagrant up --debug , может быть перенаправлен в файл типа

vagrant up --provision --debug &> debug_log

Fragment из сеанса IRC в #vagrant at Freenode:

{{1 }}

[18:29] ada: правда, где по умолчанию хранится отладочный "файл"? А там нет?

[18:29] бродяга не записывает в файлы журнала

..

[18:29] виртуальный бокс делает

{{1} }

[18:29] Я даже пытаюсь >> debug_log в командной строке, и он просто не сохраняет ни одного из этих ценные детали.

[18:29] хорошо, я бы проверил журналы VBox?

[18:30] если вы используете провайдер vbox, да

..

[18:31] NikosA, перенаправьте вывод с помощью &>

0
06.02.2019, 10:20
3 ответа

попробуйте следующее

for line in `cat input`; do echo ${line} | cut -c 1-4 && echo ${line} | cut -c 1-5 && echo ${line} | cut -c 1-8; done

это дает

1234
12345
12345678
ABCd
ABCde
ABCdefgi
0
28.01.2020, 02:23

Ваш пример неправильно отформатирован. Я предполагаю, что пробел должен быть новой строкой? Если это так, самый простой способ - использоватьcut

$ cut -c -4 inputнапечатает первые 4 символа каждой строки. Повторите это с любым количеством символов, которые вам нравятся.

0
28.01.2020, 02:23
for len in 4 5 8; do
    cut -c "1-$len" file
done

При этом многократно используется cut -cдля вырезания первой части каждой строки файла с именем file. Длина вырезаемого бита зависит от переменной цикла len.

Если вы строго придерживаетесь критерия «одной строки»:

for len in 4 5 8; do cut -c "1-$len" file; done

Или,как простая в использовании функция оболочки:

cut_to_lengths () {
    file=$1; shift
    for len do
        cut -c "1-$len" "$file"
    done
}

Использование:

$ cut_to_lengths file 4 5 8 1
1234
ABCd
12345
ABCde
12345678
ABCdefgi
1
A

В комментариях вы указываете, что не хотите выводить строки, если они короче длины обрезки.

Для этого мы можем изменить команду cutна команду awk:

awk -v len="$len" 'length >= len { print substr($0, 1, len) }'

Замените cut -c "1-$len"приведенной выше командой awkв приведенном выше коде.

3
28.01.2020, 02:23

Теги

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