Внутри []
, *
литерал, а снаружи квантификатор.
Я действительно не вижу смысла в использовании якорей границ слов(\b
)здесь -вы, вероятно, захотите сопоставить что-то вроде не -пустой последовательности буквенно-цифровых символов, за которой следует -simd.cpp
суффикс, например.s/[[:alnum:]]*-simd.cpp//g
Мы можем проверить, что соответствует, используяgrep
:
$ grep -o '[[:alnum:]]*-simd.cpp' sources
aria-simd.cpp
blake2-simd.cpp
cham-simd.cpp
crc-simd.cpp
gcm-simd.cpp
lea-simd.cpp
neon-simd.cpp
ppc-simd.cpp
rijndael-simd.cpp
sha-simd.cpp
shacal2-simd.cpp
simeck-simd.cpp
simon-simd.cpp
sm4-simd.cpp
speck-simd.cpp
sse-simd.cpp
Если буквенно-цифровая строка не является достаточно общей, вы можете вместо этого сопоставить последовательность не -пробельных символов[^[:blank:]]*
Это было бы больше похоже на «концептуально синхронный» или, возможно, на «синхронный на более высоком уровне абстракции, чем тот, о котором вы думали». Программа считывает данные, чтобы как-то их обработать, поэтому, пока она не получит эти данные, она не может выполнить обработку :, поэтому чтение должно быть синхронной операцией.
Запросы на запись, с другой стороны, могут быть отложены,до тех пор, пока другие операции будут «видеть» данные как эквивалентные записанным в конечный пункт назначения. Другими словами, любые операции чтения должны сначала проверить, существует ли измененная версия данных, которые они собираются прочитать, в кэше записи, и если да, то вместо этого «читать» из кэша.