1

文字と記号が多すぎるファイルがあります。正確な文字列を見つけて、それを切り取り、2 つの変数に渡したいと考えています。で書きましたが、またはgrepで書きたいです。**AWK**SED

これが私のサンプルファイルです:

.f@alU|A#Z<inCWV6a=L?o`A5vIod"%Mm+YW1RM@,L;aN
r^n<&)}[??!VcVIV**2zTest1.Test2n9**94EN~yK,$lU=9?UT.[
e`)G:FS.nGz%?@~k!20aLJ^PU-[@}0W\ !8x
cujOmEK"1;!cI134lu%0-A +/t!VIf?8uT`!
aC1QAQY>4RE$46iVjAE^eo5yR|
1?/T?<H5,%G~[|9I/c&8MY$O]%,UYQe{!{Bm[rRC[
aHC`<m?BUau@N_O>Yct.MXo[>r5^uV&26@MkYB'Kiu\Y
K(*}ldO:ZQnI8t989fi+
CrvEwmTQ80k3==,a'Jj9907+}NNy=0Op
"nzb.j-.i%z5`U*8]~@64sF'r;\x\;ylr_;q5F` A!~p*

最初に2zTest1.Test2n9を見つけてから、最初の 2 文字と最後の 2 文字を切り取り、最後にドット (.) のない 2 つの単語を取得します。最初の単語は 1 つの変数に送信され、2 番目の単語は別の 2 つの変数に送信されます。

注:2zTest1.Test2n9を見つけて、それを切り取りたいです。

出力:

variable 1 = test1
variable 2 = test2 

ありがとう

4

2 に答える 2

2

そのsed:

sed -n 's/.*\(2z\(\(.*\)\.\(.*\)\)n9\).*/variable 1 = \L\3\nvariable 2 = \L\4/p'  your.file 

出力:

variable 1 = test1
variable 2 = test2
于 2013-10-29T23:03:54.383 に答える