строковое представление с помощью regex (измененный)

Путем предоставления cp -f, опция просто складывает с существующей опцией.

Таким образом, если Вы имеете alias cp='cp -i', CP слова заменяется в команде cp -f, таким образом, Вы добираетесь cp -i -f file1 file2.

Переопределять псевдоним:

\cp -f file1 file2

Обратная косая черта перед командой отключит псевдоним. Можно использовать command cp вместо \cp для удобочитаемости.

1
14.11.2013, 16:59
3 ответа

Это, кажется, делает то, что Вы хотите использовать grep:

$ grep -P "^\D+\d+$|^\d+\D+$|^\D+\d+\D+$" data.txt

Добавление дополнительных строк к data.txt казалось бы, указал бы, что это работает на Ваши требования.

Пример

$ cat data.txt 
&320
*10-
AB123-
1234
ABCDEF
a20d34
12a12
32q5858j
' 2323 '
234aaa
#A123BNNN
.123
-123+

Образец выполняется:

$ grep -P "^\D+\d+$|^\d+\D+$|^\D+\d+\D+$" data.txt
&320
*10-
AB123-
' 2323 '
234aaa
#A123BNNN
.123
-123+

Если Вы незнакомы с grep -P переключатель видит ссылку ниже. Переключатель допускает grep для использования большой части hte regex механизм, это доступно в Perl.

Ссылки

1
27.01.2020, 23:39
  • 1
    это не будет работать на a20d34 или 12a12 или 32q5858j –  forcefsck 14.11.2013, 00:17
  • 2
    @forcefsck - видят обновления, я думаю, что обратился к тому, что Вы упомянули. –  slm♦ 14.11.2013, 00:25
  • 3
    a20d34 и 32q5858j не должен соответствовать, в середине нет цифр. Если я понимаю правильно, должен быть по крайней мере один не цифра, или в запуске или в конце или обоих, но не в середине. –  forcefsck 14.11.2013, 00:32
  • 4
    @forcefsck - нам нужен OP для разъяснения, я не вижу, что требование упомянуло, что не может быть никакой середины реки символов нецифры. BTW, спасибо за Вашу конструктивную справку! –  slm♦ 14.11.2013, 00:35
  • 5
    @sim, в это время, я просто рассматриваю шаблон, где символ нецифры может только произойти в двух положениях: самое начало и самый конец. Они могут произойти в обоих положениях в то же время, что и хорошо.Спасибо. –  user288609 14.11.2013, 05:46

Ваше описание, кажется, сводится или к одной нецифре, сопровождаемой цифрой или к цифре, сопровождаемой нецифрой.

grep -e '[^0-9][0-9]' -e '[0-9][^0-9]'
1
27.01.2020, 23:39
sed '
    /^[^0-9]\+[0-9]/b    # at least non-digit either before the first digit
    /[0-9][^0-9]\+$/b    # or after the last digit
    d
'

(редактирование: не должны обрабатывать случай без цифр, это исключено проблемным оператором.

0
27.01.2020, 23:39
  • 1
    я не думаю, что они должны быть подобраны: a20d34 или 32q5858j, b/c этого "... Если числовая строка не следует за этим шаблоном...". Посмотрите то, что я имею в виду об этом Q. W/o OP Вы меня и Stephane просто предполагаете на этом? –  slm♦ 14.11.2013, 08:58

Теги

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