如何在某个" - >"之后拾取字符。仅来自文本文件。
我有一个名为a.txt
的文件。它有许多以下格式的行:
/abc/def/ghi/jkl.txt->/mno/pqr/stu/vwy.txt
1)我想在">"之后只打开一行,怎么做?
2)我还想要一种在" - >"之前打印线的方法。
case1的预期输出)/mno/pqr/stu/vwy.txt
case2的预期输出)/abc/def/ghi/jkl.txt
答案 0 :(得分:2)
awk
似乎比grep
更有用:
所以,要获得“ - >”之前的部分你可以使用:
awk -F"->" '{print $1}' filename
对于“ - >”之后的部分:
awk -F"->" '{print $2}' filename
答案 1 :(得分:1)
第一种情况:
grep -A1 "\->" --no-group-separator a.txt | grep -v "\->"
第二种情况:
grep -B1 "\->" --no-group-separator a.txt | grep -v "\->"
A1
和B1
标记分别取消之前和之后的行,--no-group-separator
确保行之间没有任何内容,grep -v "\->"
删除{{1}的实际行}。