我需要知道grep
时的完整文件路径。
我使用
之类的命令cat *.log | grep somethingtosearch
现在我需要用完整的文件路径显示结果,从中取出匹配的结果。
帮助任何人?
答案 0 :(得分:18)
您是否尝试使用-l
标志?
grep -l somethingtosearch
这将只返回找到搜索的路径和文件名,而不是返回匹配的整行。
使用-r
标志进行递归。
答案 1 :(得分:13)
假设您有两个日志文件:
cd到C:并使用:
grep -r somethingtosearch temp/*.log
它将为您提供如下列表:
temp/my.log:somethingtosearch
temp/alsoMy.log:somethingtosearch1
temp/alsoMy.log:somethingtosearch2
答案 2 :(得分:5)
如果您想查看完整路径,我建议cd
到顶部目录(如果使用Windows,则为您的驱动器)
cd C:\
grep -r somethingtosearch C:\Users\Ozzesh\temp
或者在Linux上:
cd /
grep -r somethingtosearch ~/temp
如果你真的不赞成你的文件名过滤(* .log)而你想要recursive
(文件不在同一个目录中),那么find
和grep
的组合就是最灵活的方式:
cd /
find ~/temp -iname '*.log' -type f -exec grep somethingtosearch '{}' \;
答案 3 :(得分:2)
命令:
grep -rl --include="*.js" "searchString" ${PWD}
返回输出:
/root/test/bas.js
答案 4 :(得分:1)
对我来说 grep -b“searchsomething”* .log 按我的意愿工作
答案 5 :(得分:1)
打印完整路径的最简单方法是用绝对路径替换相对起始路径:
public class MainActivity extends AppCompatActivity {
private static final String TAG = "paymentExample";
private static final String CONFIG_ENVIRONMENT = PayPalConfiguration.ENVIRONMENT_NO_NETWORK;
private static final String CONFIG_CLIENT_ID = "credentials from developer.paypal.com";
private static final int REQUEST_CODE_PAYMENT = 1;
private static final int REQUEST_CODE_FUTURE_PAYMENT = 2;
private static final int REQUEST_CODE_PROFILE_SHARING = 3;
private static PayPalConfiguration config = new PayPalConfiguration()
.environment(CONFIG_ENVIRONMENT)
.clientId(CONFIG_CLIENT_ID)
// The following are only used in PayPalFuturePaymentActivity.
.merchantName("Example Merchant")
.merchantPrivacyPolicyUri(Uri.parse("https://www.example.com/privacy"))
.merchantUserAgreementUri(Uri.parse("https://www.example.com/legal"));
private EditText etEmailAddress,etPasswowrd;
private Button btnLogin;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
etEmailAddress = (EditText)findViewById(R.id.etEmailAddress);
etPasswowrd = (EditText)findViewById(R.id.etPasswowrd);
btnLogin = (Button) findViewById(R.id.btnLogin);
btnLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Here I want to login into PayPal
}
});
}
}
答案 6 :(得分:1)
当我正在寻找同样的问题时,我会落在这里,也许它可以帮助其他人。
我认为真正的解决方案是:
cat *.log | grep -H somethingtosearch
答案 7 :(得分:0)
答案 8 :(得分:-1)
使用:
grep somethingtosearch *.log
并且文件名将与匹配一起打印出来。