この一様でないデータセットから映画のタイトルを抽出するための戦略は何ですか?

この一様でないデータセットから映画のタイトルを抽出するための戦略は何ですか?

正規表現を改善するために映画データベースの問題を研究していますが、これが私が経験している問題です。私のデータセットは次のとおりです。

映画名(可変スペースとタブ)の年
映画1(それらの間にスペースがある場合もあれば、複数のスペースがある場合もあります)(可変スペースとタブは\ t +または複数のスペースまたは単一のスペースにすることができます。>初年度
映画2(それらの間にスペースがある場合もあれば、複数のスペースがある場合もあります)(可変スペースとタブは\ t +または複数のスペースまたは単一のスペースにすることができます。>第二年
映画3(それらの間にスペースがある場合もあれば、複数のスペースがある場合もあります)(可変スペースとタブは\ t +または複数のスペースまたは単一のスペースにすることができます。>3年目
映画4(それらの間にスペースがある場合もあれば、複数のスペースがある場合もあります)(可変スペースとタブは\ t +または複数のスペースまたは単一のスペースにすることができます。>4年生

すべての映画の名前を抽出したいです。私がこのことをしながら経験した困難は次のとおりです。

1: 区切り記号は可変です。コロンまたはユニークな場合は、awkコマンドを使用して次のように抽出します。awk -F 'separator' '{print $1}'
この場合、単一のスペース、複数のスペース、または\ tの組み合わせにすることができます。または空白。

2:区切り文字が\ tの行の場合、映画名には含まれていないため、\ tを使用して抽出できます。ところで、区切り文字が空白1つか空白2つであればどうなりますか?映画のタイトルに簡単に表示できます。このような状況では、どうすればいいかわかりません。

私はこの質問が非常に厳格で具体的であることを知っています。しかし、前述したように、ここではかなり困惑しています。この問題を解決する方法は思い出されません。

目標を達成するために使用できるgrep / sed / awkとreg-exの組み合わせはありますか?

ベストアンサー1

gawk年が常にレコードで終わると仮定して使用してください。

awk -F"[0-9]{4}$" '{print $1}' movies

おすすめ記事