Your biggest problem is system compromise. If you store your key encrypted under a strong passphrase, then this is equivalent to the risk with a password manager (in fact if this is any indication, a lot of password managers don't derive encryption keys from master passwords correctly, so you're probably better off with gpg which does). So if someone roots your system and then you unlock your key, they have all your passwords. This is the same with any password manager that runs on your system.
If you don't encrypt your gpg key though, anyone who gets access to your system, even when its off (e.g. steals it) can read your key, decrypt your file, and get your passwords. This is worse than a good password manger (e.g. LastPass, KeePass, or even the OSX keychain).
Your second biggest risk is that that shell command writes tmp files to your system even if it deletes them (since deleting a file does not overwrite the data and it can be recovered with software). GPG might write temp files,
grep might write temp files,
less might write them. As might your shell. Moreover, since the last three of these are not meant to be secure, there is no reason why they might not decide to do that at some point in the future. On the other hand, a decent password manager would take steps to make sure it never wrote your clear text to disk. It could even only store your data in locked pages that don't get swapped to disk.
On the purely cryptographic side your max key size in gpg is probably 2048 bits. This gives you max 112 bits of security. To get something equivalent to AES256, you'd need a 15360 bit key. This is the least of your concerns, but it still is one. Password managers usually use symmetric crypto so they can use AES128 or AES256.