Bash从字符串中提取部分并创建csv

Tho*_*mas 0 csv bash awk

我有一个包含100多万以下字符串的文档,我喜欢通过提取一些部分创建一些新结构并为它创建一个csv文件,这是最快的方法吗?

document/0006-291X(85)91157-X
Run Code Online (Sandbox Code Playgroud)

我想在每行上有一个文件,包含原始字符串和提取的部分

document/0006-291X(85)91157-X;0006-291X;85 
Run Code Online (Sandbox Code Playgroud)

Ben*_*y13 6

你可以试试这个单行awk:

awk -F "[/()]" -v OFS=';' '{print $0,$(NF-2),$(NF-1)}' your-file
Run Code Online (Sandbox Code Playgroud)

它以/,(,)分隔符的形式解析每一行的字段.然后它打印出整行,第3个字段和从行尾开始的第二个字段.该选项将-v OFS=';'semicolumns打印为输出字段分隔符.