sed "s/\(^[a-z,0-9]*\)\(.*\)\( [a-z,0-9]*$\)/\1\2 \1/g" desired_file_name
我很欣赏它,即使你只解释它的一部分,或者至少用词来构造它,如s\alphanumerical_at_start\something\alphanumerical_at_end\something_else\global
有人可以解释这意味着什么,为什么以及所有正则表达式都如此......糟糕?
我知道它用最后一个替换了第一个小写字母数字单词。但是你能解释一下这里发生了什么吗?所有的/\
和\(.*\)\
所有的东西是怎么回事?
我只是迷路了。
编辑:这是我得到(^[a-z0-9]*)
的:从 z 槽和 0 槽 9 开始;并且[a-z,0-9]*$
是相同的,但最后一个单词(但是[0-9,a-z]
= 只是前 2 个字符/第一个字符,还是整个单词?)。另外: the*
或\(.*\)\
even 是什么意思?