我有一个哈希文件example.md5,其中充满了类似于以下内容的哈希和文件名。
e5dbb7657f770fad038220f5c69d806c backup/example/test.txt
我如何批量编辑该文件,使其看起来像这样。
e5dbb7657f770fad038220f5c69d806c example/test.txt
我只想删除哈希文件中提到的每个文件路径的第一部分。
编辑:文件路径中包含一些数字,即e5dbb7657f770fad038220f5c69d806c 750g/example/test.txt
答案 0 :(得分:2)
您可以在sed下面使用
[root@967dd7743677 test]# sed 's:[a-z]*/::' hashfile
e5dbb7657f770fad038220f5c69d806c example/test.txt
[root@967dd7743677 test]#
答案 1 :(得分:1)
使用 GNU sed
:
sed -E -n 's/([a-z0-9]+)( *)[A-Za-z0-9]+\/(.*)/\1\2\3/p' file_name
输出:
e5dbb7657f770fad038220f5c69d806c example/test.txt
说明:
-E : --regexp-extended(using extended regular expressions)
-n : --quiet, --silent, suppress automatic printing of pattern space
([a-z0-9]+) : Capturing first group containing the hash characters which includes a combination of one or more small alphabets and numbers
( *) : capturing second group containing whitespaces
[A-Za-z0-9]+\ : matching the first part of second column which may be a combination of one or more small alphabets,numbers and capital letters and a \
(.*) : cpaturing the third group containing any character.
\1\2\3 : backreferencing the first,second and third captured groups.
/p : to print