As a part of this script, I need to be able to check if the first argument given matches the first word of file. If it does, exit with an error message; if it doesn't, append the arguments to the file. I understand how to write the if statement, but not how to use grep within a script. I understand that grep will look something like this
grep ^$1 schemas.txt
I feel like this should be much easier than I am making it.
I'm getting an error "too many arguments" on the if statement. I got rid of the space between grep -q and then got an error binary operator expected.
if [ grep -q ^$1 schemas.txt ]
then
echo "Schema already exists. Please try again"
exit 1
else
echo "$@" >> schemas.txt
fi
[…]and it'll work. Though you probably want to quote your pattern:if grep -q "^$1" schemas.txt; then …cat content.txt | grep "foo" && work.sh