我想在某个文件中搜索特定字符串。一旦找到,我只想打印greped行的前一行,而不是使用grep命令获得的行。
cmd:grep -B 1 line5
Ex:
lin1 with some text
lin2
lin3
lin4
lin5 with some text
输出
lin4
lin5 with some text
但是有什么解决方案我只能获得lin4但不能获得lin5。
感谢您的帮助。
答案 0 :(得分:0)
匹配后显示N行 -A是在匹配后打印指定的N行的选项,如下所示 语法:
grep -A <N> "string" FILENAME
在比赛前显示N行 -B是选项,在匹配前打印指定的N行 语法:
grep -B <N> "string” FILENAME
在匹配项周围显示N行 -C是选项,它在匹配前打印指定的N行。在某些情况下,您可能希望匹配与两侧的线条一起出现。此选项在匹配的一侧(前后)显示N行。
$ grep -C 2 "Example" FILENAME
答案 1 :(得分:-1)
这样做:
public void onListItemClick(ListView l, View view, int position, long id){
final Dialog dialog = new Dialog(this.getActivity());
dialog.setTitle("Dicoba dialog");
dialog.setContentView(R.layout.my_dialog);
dialog.show();
Button btnYes = (Button) getActivity().findViewById(R.id.yes);
Button btnNo = (Button) getActivity().findViewById(R.id.no);
btnYes.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getActivity(), "Yes!!", Toast.LENGTH_LONG).show();
dialog.cancel();
}
});
btnNo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialog.cancel();
}
});
}
获取输出的第一行