[[:print:]] 在目录路径上是啥意思?

Posted

技术标签:

【中文标题】[[:print:]] 在目录路径上是啥意思?【英文标题】:What does [[:print:]] means on a directory path?[[:print:]] 在目录路径上是什么意思? 【发布时间】:2022-01-23 05:22:09 【问题描述】:

[[:print:]] 在下面的代码中是什么意思?

echo 255 > /sys/devices/platform/[[:print:]]*/hwmon/hwmon[[:print:]]*/pwm1

使用[[:print:]]* 和只使用* 有什么区别?

echo 255 > /sys/devices/platform/*/hwmon/hwmon*/pwm1

是否有此功能的已知名称,或者我可以阅读和了解更多信息的地方?

【问题讨论】:

[[:print:]] 是(符合 BRE 和 ERE 标准的)正则表达式和 glob 之间共享的功能;它匹配任何可打印的字符。 因此,glob 中的[[:print:]]* 匹配一个可打印字符,后跟零个或多个其他字符,这些字符可能是可打印的,也可能是不可打印的。 (而对于正则表达式,在 [[:print:]]* 中,* 修改了 [[:print:]] 以匹配零个或多个可打印字符)。 【参考方案1】:

[[:print:]],在 glob 样式表达式或符合 POSIX 的正则表达式中,匹配任何可打印字符。

glob 表达式(简化的单字符大小写)的引用是https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_13_01;,它引用标准的正则表达式部分https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_03_05 作为方括号表达式的权威,它将[:print:] 描述为所有语言环境都必须提供的字符类表达式之一。然后在https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap07.html#tag_07_03_01 中提供这个特定类的详细信息。

【讨论】:

【参考方案2】:

[[:print:]] 是当今所有引擎都识别为匹配的 Posix 类 144,544 或更少,Unicode 14 起的 Unicode 字符。 其原始表示是这个基于 UCD 的 UTF-8/32 正则表达式。 这最多匹配其中的 ALL 个。有些引擎匹配较少,但没关系, 从 V14 开始,它始终是这个或更少,永远不会更多。

 [\\a-zA-Z0-9\t-\r-/:-@\[\]-`-~\\ -¬®-ÿĀ-ͷͺ-Ϳ΄-ΊΌΎ-ΡΣ-ԯԱ-Ֆՙ-֊֍-֏֑-ׇא-תׯ-״؆-؛؝-ۜ۞-܍ܐ-݊ݍ-ޱ߀-ߺ߽-࠭࠰-࠾ࡀ-࡛࡞ࡠ-ࡪࡰ-ࢎ࢘-ࣣ࣡-ঃঅ-ঌএঐও-নপ-রলশ-হ়-ৄেৈো-ৎৗড়ঢ়য়-ৣ০-৾ਁ-ਃਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹ਼ਾ-ੂੇੈੋ-੍ੑਖ਼-ੜਫ਼੦-੶ઁ-ઃઅ-ઍએ-ઑઓ-નપ-રલળવ-હ઼-ૅે-ૉો-્ૐૠ-ૣ૦-૱ૹ-૿ଁ-ଃଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହ଼-ୄେୈୋ-୍୕-ୗଡ଼ଢ଼ୟ-ୣ୦-୷ஂஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹா-ூெ-ைொ-்ௐௗ௦-௺ఀ-ఌఎ-ఐఒ-నప-హ఼-ౄె-ైొ-్ౕౖౘ-ౚౝౠ-ౣ౦-౯౷-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹ಼-ೄೆ-ೈೊ-್ೕೖೝೞೠ-ೣ೦-೯ೱೲഀ-ഌഎ-ഐഒ-ൄെ-ൈൊ-൏ൔ-ൣ൦-ൿඁ-ඃඅ-ඖක-නඳ-රලව-ෆ්ා-ුූෘ-ෟ෦-෯ෲ-෴ก-ฺ฿-๛ກຂຄຆ-ຊຌ-ຣລວ-ຽເ-ໄໆ່-ໍ໐-໙ໜ-ໟༀ-ཇཉ-ཬཱ-ྗྙ-ྼ྾-࿌࿎-࿚က-ჅჇჍა-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚ፝-፼ᎀ-᎙Ꭰ-Ᏽᏸ-ᏽ᐀-᚜ᚠ-ᛸᜀ-᜕ᜟ-᜶ᝀ-ᝓᝠ-ᝬᝮ-ᝰᝲᝳក-៝០-៩៰-៹᠀-᠍᠏-᠙ᠠ-ᡸᢀ-ᢪᢰ-ᣵᤀ-ᤞᤠ-ᤫᤰ-᤻᥀᥄-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉ᧐-᧚᧞-ᨛ᨞-ᩞ᩠-᩿᩼-᪉᪐-᪙᪠-᪭᪰-ᫎᬀ-ᭌ᭐-᭾ᮀ-᯳᯼-᰷᰻-᱉ᱍ-ᲈᲐ-ᲺᲽ-᳇᳐-ᳺᴀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ῄῆ-ΐῖ-Ί῝-`ῲ-ῴῶ-῾ -\ ‐-\
\ -\ ⁰ⁱ⁴-₎ₐ-ₜ₠-⃀⃐-⃰℀-↋←-␦⑀-⑊①-⭳⭶-⮕⮗-ⳳ⳹-ⴥⴧⴭⴰ-ⵧⵯ⵰⵿-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⷠ-⹝⺀-⺙⺛-⻳⼀-⿕⿰-⿻ -〿ぁ-ゖ゙-ヿㄅ-ㄯㄱ-ㆎ㆐-㇣ㇰ-㈞㈠-ꒌ꒐-꓆ꓐ-ꘫꙀ-꛷꜀-ꟊꟐꟑꟓꟕ-ꟙꟲ-꠬꠰-꠹ꡀ-꡷ꢀ-ꣅ꣎-꣙꣠-꥓꥟-ꥼꦀ-꧍ꧏ-꧙꧞-ꧾꨀ-ꨶꩀ-ꩍ꩐-꩙꩜-ꫂꫛ-꫶ꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-꭫ꭰ-꯭꯰-꯹가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִ-זּטּ-לּמּנּסּףּפּצּ-﯂ﯓ-ﶏﶒ-ﷇ﷏ﷰ-︙︠-﹒﹔-﹦﹨-﹫ﹰ-ﹴﹶ-ﻼ!-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ¢-₩│-○�?-??-??-????-??-??-??-??-??-??-???-??-??-??-??-??-??-??-??-??-??-??-??-??-??-??-??-??-??-????-??-??-????-??-??-??-??-??-??-???-?????-??-??-??-????-??-???-??-??-????-??-??-??-??-??-??-??-??-??-??-??-??-??-??-??-??-??-??-??-??-??-??-????-??-??-??-??-??-??-??-??-??-??-??-??-??-??-??-??-??-??-???-??-??-??-??-??-??-????-??-????-??-????-????-??-??-??-??-??-??-??-??-??-??-??-??-??-??-??-??-??-??-??-???-????-????-??-??-??-??-??-??-??-??-??-??-??-??-??-??-??-????-?????-??-??-????-????-??-??-???-??-??-??-??-??-??-??-??-??-??-??-??-??-??-??-??-??-??-??-??-??-??-??-??-????-??-??-??-??-????-??-??-??-??-??-??-??-??-??-??-??-??-??-??-??-??-??-??-??-??-??-???????-??-???-??-??-??-??-??-??-??-???-??-??-??-??-??-??-??-??-??-????-??-??-??-????-??-???-??-????-??-??-??-??-????-??-??-??-??????-??-????????-?????????????-??-??-??-???-??-??-??-??-????-??-??-??-??-??-??-??-??-??-????-??-??-??-??-??-??-???-??-??-??-??-????-??-??-??-??-??-??-??-??-??-??-??-??-??-??-??-??-??-??-??-??-??-?]

【讨论】:

不是“今天的所有引擎”,不——一些正则表达式引擎不支持 POSIX 字符类。 Python的,最臭名昭著的。 (此外,目录路径是 glob 表达式 / fnmatch 表达式;它们使用与正则表达式相同的字符类语法,但这并不意味着它们是相同的)。 @CharlesDuffy 我不知道 POSIX 是否受版权保护,但使用 [[:print:]] 并说不支持 posix 就正则表达式构造而言是侵权。我可能是错的,但我对此表示怀疑。 标准文本受版权保护,但这与实现所使用的关键字没有任何关系。在许多主要司法管辖区,兼容性所必需的“功能元素”不能受版权保护——在这些司法管辖区,版权仅限于“表达性”元素。所以我真的不明白你要表达的意思,或者版权与这些有什么关系。 一个标准机构在商标的基础上拥有更多的地位来阻止某人在不符合标准的情况下使用他们的名字,但这是关于声称符合而不符合标准;不是只采用标准元素的子集,同时也不声称合规。如果有人不声称符合标准或以其他方式使用标准机构的商标,则标准机构根本没有法律依据参与。 我不确定您对受版权保护的正则表达式引擎的实现与我上面所说的任何事情有什么关系。如果我的断言是准确的(如果事实上前面的句子准确地总结了你的论点),那么你声称 Python 的再引擎将犯下的侵权行为是什么?

以上是关于[[:print:]] 在目录路径上是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

path是啥意思

易语言默认安装目录是啥意思,怎么设置

linux 中 ~/. 是啥意思如题 ~/.local 是怎样一个路径?

医学上bo是啥意思(bo在医学上是啥意思)

Linux里面pwd命令作用是啥?

PHP中的ABSPATH是啥意思?