什么';命令是什么意思?sed';s、 ^.*/、';
对我来说,使用sed真的很不寻常。我习惯于使用什么';命令是什么意思?sed';s、 ^.*/、';,sed,Sed,对我来说,使用sed真的很不寻常。我习惯于使用的s/pattern1/pattern2/g' 有人能帮我解释一下吗? 输入字符串如下所示: path1/path2/path3/fileA path1/path2/path3/fileB path1/path2/path3/fileC 输出是fileA fileB fileC它是一个替代命令,使用“,”而不是“/”作为分隔符-可能是因为模式中有“/”。相当于 s/^.*\/// 从行首到最后一个正斜杠删除所有内容 使用“s”时,下一个字符用作分
的s/pattern1/pattern2/g'
有人能帮我解释一下吗?输入字符串如下所示:
path1/path2/path3/fileA path1/path2/path3/fileB path1/path2/path3/fileC
输出是
fileA fileB fileC
它是一个替代命令,使用“,”而不是“/”作为分隔符-可能是因为模式中有“/”。相当于
s/^.*\///
从行首到最后一个正斜杠删除所有内容
使用“s”时,下一个字符用作分隔符。所以你也可以把它写成
s!^.*/!!
s@^.*/@@
等
使用不同的分隔符可以避免在模式中转义分隔符的实例
您的示例输入:
路径1/路径2/路径3/fileA
“^
”表示“从字符串的开头开始,“*
”表示“匹配任何”贪婪的内容,因此它会尝试匹配尽可能多的字符串。”*/
'尝试贪婪地匹配任何后跟“/”的内容。因为它是贪婪的,这包括其他的斜杠。因此它与路径1/path2/path3/匹配。替换模式为“”,即无,因此它有效地删除了从字符串开头到最后一个“/”的所有内容,只留下fileA
TL;DR:意思是“删除路径信息,只保留文件名”