私のUbuntuコンピュータには次のファイルがあります。
ファイル.txt
http://example.com/https:/www.google.com
http://test.example.com
https://www.example.com
https://www.click.example.com
http://example.com
http://test.example.com
https://www.example.com/https:/www.google.com
https://www.click.example.com
新しいファイルに出力したい。
新しいファイル.txt
https://www.example.com
https://www.click.example.com
https://www.example.com/https:/www.google.com
https://www.click.example.com
以下のようにsedを使用していますが、出力ファイルには次のものを含むすべての行が含まれています。httpsラインどこでも。
sed -n '/https/p' file.txt > new_file.txt
検索を最初の5文字に制限したいです。最初の5文字で見つかった場合はhttps
その行を印刷し、それ以外の場合はスキップします。
ありがとうございます。
答え1
sed
デフォルトの正規表現(BRE
)はテキスト検索にデフォルトで使用されるため、次のものを使用できます。構文:
^
パターンスペースの先頭にある空の文字列と一致します。つまり、曲折記号の後に表示される内容は、パターン空間の先頭に表示する必要があります。
だからあなたのため:
sed -n '/^https/p' file.txt > new_file.txt
または以下を使用してくださいgrep
。
grep '^https' file.txt > new_file.txt