128420個のレジスタを含むファイルがあります。ただし、1行、2行、N行で一致する2つの値を見つける必要があります。
同じ行で59708、27073同じ値を見つける必要があります。
ここに例があります。
というファイルがありますlocation_2020_01_10_11_12_17.dat
内部的には3つのレジスタがあります。
3G COF9708 59708 334 020 28.219 100.9 0 NO TOP 8 U1900 BBBBB 8 AMV 27073 \N \N \N \N 59708 \N WCO3557 \N \N \N \N XXXXXXXX 4 TC FALSE
3G MXZ9708 59708 334 020 18.6841 997 0 NO TOP 8 U850 AAAAAA 36012 \N \N \N \N 59708 \N WMX9708 \N \N \N \N Sin_Municipio XXXXXXXXXX 9 TX FALSE
2G MX9708Z 59708 334 020 18.6841 996 0 NO TOP Z G850 AAAAAA 1227 \N \N \N MX9708 59708 \N \N \N \N \N \N Sin_Municipio YYYYYYYYYYY 9 MA FALSE
使った
grep -E -- '59708|27073' cell_location_2020_01_10_11_12_17.dat
返品
egrep '59708|27073' cell_location_2020_01_10_11_12_17.dat
しかし、うまくいきません。
結果1つの表示に関するアイデアを共有できますか?
3G COF9708 59708 334 020 28.219 100.9 0 NO TOP 8 U1900 BBBBB 8 AMV 27073 \N \N \N \N 59708 \N WCO3557 \N \N \N \N XXXXXXXX 4 TC FALSE
答え1
2つの文字列を一致させたいのですが、順序がわかりませんか?努力する
grep '59708.*27073\|27073.*59708' file
3G COF9708 59708 334 020 28.219 100.9 0 NO TOP 8 U1900 BBBBB 8 AMV 27073 \N \N \N \N 59708 \N WCO3557 \N \N \N \N XXXXXXXX 4 TC FALSE
答え2
59708 が 859708 または 597083 と間違って一致しないように、パターンに区切り文字を含める必要があります。
awkを使用できます。
awk '/ 27073 / && / 59708 /' location_2020_01_10_11_12_17.dat