perl/awk/sed一行程序,用于从包含路径列表的文本文件中删除目录名
我有一个以下格式的文本文件:perl/awk/sed一行程序,用于从包含路径列表的文本文件中删除目录名,perl,sed,awk,Perl,Sed,Awk,我有一个以下格式的文本文件: /path1/path2/file.ext:20 .................. /path1/path2/file2.ext:120 .................. /path4/file.ext:93 .................. file.ext:20 .................. file2.ext:120 .................. file.ext:93 .................. 我希望获得以下格式的
/path1/path2/file.ext:20 ..................
/path1/path2/file2.ext:120 ..................
/path4/file.ext:93 ..................
file.ext:20 ..................
file2.ext:120 ..................
file.ext:93 ..................
我希望获得以下格式的输出:
/path1/path2/file.ext:20 ..................
/path1/path2/file2.ext:120 ..................
/path4/file.ext:93 ..................
file.ext:20 ..................
file2.ext:120 ..................
file.ext:93 ..................
使用perl/awk/sed。一个简单的sed可以:
sed 's|^.*/||g' file
Awk:
或
简单的sed可以:
sed 's|^.*/||g' file
Awk:
或
和格雷普
grep -oP '.*/\K.*' file
和格雷普
grep -oP '.*/\K.*' file
使用awk:
awk -F '/' '{print $NF}' file
使用awk:
awk -F '/' '{print $NF}' file
使用perl
perl -pe 's|.*/||' file
使用perl
perl -pe 's|.*/||' file
perl中可能的解决方案: 一个使用文件::Basename:
perl -MFile::Basename -ne 'print basename $_' FILE
perl中可能的解决方案: 一个使用文件::Basename:
perl -MFile::Basename -ne 'print basename $_' FILE
只要以后不再有
/
了(是的,我就是那个家伙)+1.好极了,正是我想要的。谢谢。只要以后不再有/
了(是的,我就是那个家伙)+1.好极了,正是我想要的。谢谢。/gio
似乎没有用。事实上,这项规定并不生效。->删除的/gio
似乎没有用。事实上,它与SBS机构不起作用。->Removed我不认为你需要领先的*
@tripleee没有它它只会删除第一个/
我不认为你需要领先的*
@tripleee没有它它它只会删除第一个/