У меня есть список, содержащий имена файлов. Как я могу создать новый список, который содержит только первые 4 символа каждой строки?
Вы можете использовать grep, чтобы показывать только первые (до) 4 символа каждой строки:
grep -Eo '^.{,4}' /PATH/TO/FILE
-E включает расширенные регулярные выражения, которые необходимы для квантора фигурных фигурных скобок Вот. -o делает grep вывод только согласованной части, а не всей строки, на которой она была найдена
Образец ^.{,4} совпадает в начале строки (^) последовательность, состоящая из любой символ (.) и длиной до 4 символов ({,4}).
Чтобы сохранить вывод в виде файла, просто используйте перенаправление:
grep -Eo '^.{,4}' /PATH/TO/FILE > /PATH/TO/OUTPUT-FILE
[ ! d5] Последующее наблюдение:
Для общего шаблона, который соответствует определенному диапазону (от x-го символа до y-го символа), рассмотрите этот пример, который отображает символ от 10-го по 18-й символ каждой строки:
$ echo 123456789abcdefghij | grep -Po '(?<=^.{9}).{8}'
abcdefgh
Это достигается пропуском девяти первых символов без согласования их с помощью так называемого lookbehind ((?<=...)). Эта функция не включена в расширенные регулярные выражения, понятые в grep, поэтому нам нужно -P вместо этого включить PCRE.
После того, как пропущено ровно 9 символов, оно соответствует следующим ровно 8 символам. Если линия короче, это не будет соответствовать. Чтобы снова совместить до 8 символов, как в первой части этого ответа, напишите {,8} вместо {8}.
Вы можете использовать grep, чтобы показывать только первые (до) 4 символа каждой строки:
grep -Eo '^.{,4}' /PATH/TO/FILE
-E включает расширенные регулярные выражения, которые необходимы для квантора фигурных фигурных скобок Вот. -o делает grep вывод только согласованной части, а не всей строки, на которой она была найдена
Образец ^.{,4} совпадает в начале строки (^) последовательность, состоящая из любой символ (.) и длиной до 4 символов ({,4}).
Чтобы сохранить вывод в виде файла, просто используйте перенаправление:
grep -Eo '^.{,4}' /PATH/TO/FILE > /PATH/TO/OUTPUT-FILE
[ ! d5] Последующее наблюдение:
Для общего шаблона, который соответствует определенному диапазону (от x-го символа до y-го символа), рассмотрите этот пример, который отображает символ от 10-го по 18-й символ каждой строки:
$ echo 123456789abcdefghij | grep -Po '(?<=^.{9}).{8}'
abcdefgh
Это достигается пропуском девяти первых символов без согласования их с помощью так называемого lookbehind ((?<=...)). Эта функция не включена в расширенные регулярные выражения, понятые в grep, поэтому нам нужно -P вместо этого включить PCRE.
После того, как пропущено ровно 9 символов, оно соответствует следующим ровно 8 символам. Если линия короче, это не будет соответствовать. Чтобы снова совместить до 8 символов, как в первой части этого ответа, напишите {,8} вместо {8}.
Вы можете использовать grep, чтобы показывать только первые (до) 4 символа каждой строки:
grep -Eo '^.{,4}' /PATH/TO/FILE
-E включает расширенные регулярные выражения, которые необходимы для квантора фигурных фигурных скобок Вот. -o делает grep вывод только согласованной части, а не всей строки, на которой она была найдена
Образец ^.{,4} совпадает в начале строки (^) последовательность, состоящая из любой символ (.) и длиной до 4 символов ({,4}).
Чтобы сохранить вывод в виде файла, просто используйте перенаправление:
grep -Eo '^.{,4}' /PATH/TO/FILE > /PATH/TO/OUTPUT-FILE
[ ! d5] Последующее наблюдение:
Для общего шаблона, который соответствует определенному диапазону (от x-го символа до y-го символа), рассмотрите этот пример, который отображает символ от 10-го по 18-й символ каждой строки:
$ echo 123456789abcdefghij | grep -Po '(?<=^.{9}).{8}'
abcdefgh
Это достигается пропуском девяти первых символов без согласования их с помощью так называемого lookbehind ((?<=...)). Эта функция не включена в расширенные регулярные выражения, понятые в grep, поэтому нам нужно -P вместо этого включить PCRE.
После того, как пропущено ровно 9 символов, оно соответствует следующим ровно 8 символам. Если линия короче, это не будет соответствовать. Чтобы снова совместить до 8 символов, как в первой части этого ответа, напишите {,8} вместо {8}.
Вы можете использовать grep, чтобы показывать только первые (до) 4 символа каждой строки:
grep -Eo '^.{,4}' /PATH/TO/FILE
-E включает расширенные регулярные выражения, которые необходимы для квантора фигурных фигурных скобок Вот. -o делает grep вывод только согласованной части, а не всей строки, на которой она была найдена
Образец ^.{,4} совпадает в начале строки (^) последовательность, состоящая из любой символ (.) и длиной до 4 символов ({,4}).
Чтобы сохранить вывод в виде файла, просто используйте перенаправление:
grep -Eo '^.{,4}' /PATH/TO/FILE > /PATH/TO/OUTPUT-FILE
[ ! d5] Последующее наблюдение:
Для общего шаблона, который соответствует определенному диапазону (от x-го символа до y-го символа), рассмотрите этот пример, который отображает символ от 10-го по 18-й символ каждой строки:
$ echo 123456789abcdefghij | grep -Po '(?<=^.{9}).{8}'
abcdefgh
Это достигается пропуском девяти первых символов без согласования их с помощью так называемого lookbehind ((?<=...)). Эта функция не включена в расширенные регулярные выражения, понятые в grep, поэтому нам нужно -P вместо этого включить PCRE.
После того, как пропущено ровно 9 символов, оно соответствует следующим ровно 8 символам. Если линия короче, это не будет соответствовать. Чтобы снова совместить до 8 символов, как в первой части этого ответа, напишите {,8} вместо {8}.