以下のログファイルがあります。
130023432 195047 /media/ismail/SSDWorking/book-collection/_Books/book 1.epub
130023433 195047 /media/ismail/SSDWorking/book-collection/_Books/book 2.epub
130023431 195047 /media/ismail/SSDWorking/book-collection/_Books/book 3.epub
変数がありますが、var=130023432
$var
最初の単語が次の場合、最初の2つの単語を除くすべての単語を印刷したいと思います。
したがって、この場合の出力は次のようになります。
/media/ismail/SSDWorking/book-collection/_Books/book 2.epub
これまで試しましたが、grep -oP "(?<=$var \d+ ).*$'"
エラーが発生しました。grep: lookbehind assertion is not fixed length
どうすればいいですか?
ベストアンサー1
次の短いawk
(sub
例sed
:代替パターンまたは正規表現)を使用してください。
var=130023432 awk -v var="$var" '$1==var{sub($1" "$2" ", ""); print}' file
または簡単に:
awk -v var="130023432" '$1==var{sub($1" "$2" ", ""); print}' file
/media/ismail/SSDWorking/book-collection/_Books/book 1.epub