ปัญหา. ข้อความ Claws Mail ที่เก็บไว้ของฉันถูกรวมไว้ดังนี้และฉันกำลังพยายามแยกหัวเรื่อง:
Subject: [SLC38A9 lysosomal arginine sensor; mTORC1 pathway] Key molecular
link in major cell growth pathway: Findings point to new potential
therapeutic target in pancreatic cancer [mTORC1 Activator SLC38A9 Is
Required to Efflux Essential Amino Acids from Lysosomes and Use Protein as
a Nutrient] [Re: Nutrient sensor in key growth-regulating metabolic pathway
identified [Lysosomal amino acid transporter SLC38A9 signals arginine
sufficiency to mTORC1]]
Message-ID: <20171019190902.18741771@VictoriasJourney.com>
ต่อ A2 ในหัวข้อนี้วิธีใช้ sed / grep เพื่อแยกข้อความระหว่างสองคำ นิพจน์แรกด้านล่าง "ใช้ได้" ตราบใดที่ข้อความที่ตรงกันไม่มีขึ้นบรรทัดใหม่:
grep -o -P '(?<=Subject: ).*(?=molecular)' corpus/01
[SLC38A9 lysosomal arginine sensor; mTORC1 pathway] Key
อย่างไรก็ตามแม้จะลองใช้รูปแบบต่างๆมากมาย ( .+?; /s; ...
) แต่ฉันก็ไม่สามารถใช้งานได้:
grep -o -P '(?<=Subject: ).*(?=link)' corpus/01
grep -o -P '(?<=Subject: ).*(?=therapeutic)' corpus/01
etc.
โซลูชันที่ 1.
ต่อแยกข้อความระหว่างสองสตริงในบรรทัดที่แตกต่างกัน
sed -n '/Subject: /{:a;N;/Message-ID:/!ba; s/\n/ /g; s/\s\s*/ /g; s/.*Subject: \|Message-ID:.*//g;p}' corpus/01
ซึ่งจะช่วยให้
[SLC38A9 lysosomal arginine sensor; mTORC1 pathway] Key molecular link in major cell growth pathway: Findings point to new potential therapeutic target in pancreatic cancer [mTORC1 Activator SLC38A9 Is Required to Efflux Essential Amino Acids from Lysosomes and Use Protein as a Nutrient] [Re: Nutrient sensor in key growth-regulating metabolic pathway identified [Lysosomal amino acid transporter SLC38A9 signals arginine sufficiency to mTORC1]]
โซลูชันที่ 2 *
ต่อฉันจะเปลี่ยนบรรทัดใหม่ (\ n) โดยใช้ sed ได้อย่างไร
sed ':a;N;$!ba;s/\n/ /g' corpus/01
จะแทนที่บรรทัดใหม่ด้วยช่องว่าง
การเชื่อมโยงกับ A2 ในวิธีใช้ sed / grep เพื่อแยกข้อความระหว่างสองคำ? , เราได้รับ:
sed ':a;N;$!ba;s/\n/ /g' corpus/01 | grep -o -P '(?<=Subject: ).*(?=Message-ID:)'
ซึ่งจะช่วยให้
[SLC38A9 lysosomal arginine sensor; mTORC1 pathway] Key molecular link in major cell growth pathway: Findings point to new potential therapeutic target in pancreatic cancer [mTORC1 Activator SLC38A9 Is Required to Efflux Essential Amino Acids from Lysosomes and Use Protein as a Nutrient] [Re: Nutrient sensor in key growth-regulating metabolic pathway identified [Lysosomal amino acid transporter SLC38A9 signals arginine sufficiency to mTORC1]]
ตัวแปรนี้ลบช่องว่างคู่:
sed ':a;N;$!ba;s/\n/ /g; s/\s\s*/ /g' corpus/01 | grep -o -P '(?<=Subject: ).*(?=Message-ID:)'
ให้
[SLC38A9 lysosomal arginine sensor; mTORC1 pathway] Key molecular link in major cell growth pathway: Findings point to new potential therapeutic target in pancreatic cancer [mTORC1 Activator SLC38A9 Is Required to Efflux Essential Amino Acids from Lysosomes and Use Protein as a Nutrient] [Re: Nutrient sensor in key growth-regulating metabolic pathway identified [Lysosomal amino acid transporter SLC38A9 signals arginine sufficiency to mTORC1]]
Here is a Here String
? หรือI Hereby Dub Thee Sir Stringy
?