1
package
という行の171行目がの特定のディレクトリにあるファイルを検索しようとしています。これを行う最善の方法は何ですか?ディレクトリ内の特定の行番号で特定の文字列を見つける
package
という行の171行目がの特定のディレクトリにあるファイルを検索しようとしています。これを行う最善の方法は何ですか?ディレクトリ内の特定の行番号で特定の文字列を見つける
あなたが再帰的に、チェックしたいディレクトリから、行うことができます。
find . -type f -exec bash -c '[[ $(sed -n '171p' "$1") =~ package ]] && echo "$1"' _ {} +
これはあなたに彼らの171行目でpackage
が含まれているファイル名が表示されます。非再帰的
:
find . -maxdepth 1 -type f -exec bash -c '[[ $(sed -n '171p' "$1") =~ package ]] && echo "$1"' _ {} +
例:
私はbar
を探しています:
$ cat foo
foo
bar
$ find . -type f -exec bash -c '[[ $(sed -n '2p' "$1") =~ bar ]] && echo "$1"' _ {} +
./foo
#This will search second line of all the files and grep over them.
#Pass search pattern as argument.
pattern=$1
for file in *
do
cat $file |sed -n '2p' |grep $pattern
done