Linux 从最新/最新数据中排除数据到行尾
我将输入文件(myfile)设置为: 我需要排除行末尾latest“/”之后的所有数据,以获得此输出:Linux 从最新/最新数据中排除数据到行尾,linux,awk,sed,grep,Linux,Awk,Sed,Grep,我将输入文件(myfile)设置为: 我需要排除行末尾latest“/”之后的所有数据,以获得此输出: /data/152.18224487:2,S /data/152.916612:2, /data/152.48152834 /data/155071755 /data/1521 /data/15.462 /data/15.22649962_test4 /data/15.226462_test6 如何从命令行linux执行此操作 这是一个与Try相关的后续问题 sed 's:/[^/]*$::
/data/152.18224487:2,S
/data/152.916612:2,
/data/152.48152834
/data/155071755
/data/1521
/data/15.462
/data/15.22649962_test4
/data/15.226462_test6
如何从命令行linux执行此操作
这是一个与Try相关的后续问题
sed 's:/[^/]*$::' < inputfile > outputfile
sed的:/[^/]*$:'outputfile
您在其他地方的评论中指出,您也只需要最后一个斜杠后的其余部分,因此我们开始:
sed 's:^.*/::' < inputfile > outputfile
sed的:^.*/:'outputfile
请尝试以下内容
awk 'match($0,/\/.*\//){print substr($0,RSTART,RLENGTH-1)}' Input_file
awk 'match($0,/.*\//){print substr($0,RSTART,RLENGTH-1)}' Input_file
上面将从/
开始查看,直到最后出现/
,以防您的输入文件可以启动而不是/
,然后尝试以下操作
awk 'match($0,/\/.*\//){print substr($0,RSTART,RLENGTH-1)}' Input_file
awk 'match($0,/.*\//){print substr($0,RSTART,RLENGTH-1)}' Input_file
这个和你的, 即数据:
>> Vi 'x' found in file /data/152.916612:2,/proforma invoice.doc
>> Vi 'x' found in file /data/152.48152834/Bank T.T Copy 12 d3d.doc
>> Vi 'x' found in file /data/155071755/Bank T.T Copy.doc
...
wwk:
输出:
/data/152.18224487:2,S
/data/152.916612:2,
/data/152.48152834
...
它起作用了!请你也帮我做一下计数,即从/data/1521/file.doc到file.doc?@gr68,我当然可以帮你,请你把问题说清楚一点,然后我会为你编辑代码,干杯。谢谢你,我找到了解决方案35; basename/data/1521/file.doc
awk -F/ '{print "/"$1$2"/"$3}' file
/data/152.18224487:2,S
/data/152.916612:2,
/data/152.48152834
/data/155071755
/data/1521
/data/15.462
/data/15.22649962_test4
/data/15.226462_test6