Rap*_*ael 6 command-line scripts text-processing
我有一个文件列表(基本上它们是.deb包)。让我们说:
abc-de-1.2.3-1.deb
fgh-ij-4.5.6-2.deb
klm-no-7.8.9-3.deb
pqrs-10.11.12-4.deb
...
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,一些文件名在一些文件名之后有数字,-而另一些文件名在 a 之后有一些文本-,然后在 next之后有数字-。
有什么方法可以删除从数字开始的所有内容,包括-,即
abc-de
fgh-ij
klm-no
pqrs
...
Run Code Online (Sandbox Code Playgroud)
我想编辑列表,而不是重命名文件。
如果您能够使用第一个数字来标识每次要删除的内容,则可以使用:
$ sed 's/-[0-9].*//' file
abc-de
fgh-ij
klm-no
pqrs
Run Code Online (Sandbox Code Playgroud)
s/old/new/替换old为new[0-9] 一些数字.* 任意数量的任意字符使用grepPerl的正则表达式:
$ grep -Po "^[a-z-]*(?=-[0-9])" filename
abc-de
fgh-ij
klm-no
pqrs
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
865 次 |
| 最近记录: |