我有一个shell script
在运行脚本的该部分之前检查名称是否已添加到文本文件中的函数。如果它确实找到该名称,它将跳过脚本的这一部分。
以下是冲突的示例:
荷属安的列斯群岛
if ! grep "netherlands-antilles" uploaded.txt; then
// Do some work here
echo netherlands-antilles >> uploaded.txt
fi
荷兰
if ! grep "netherlands" uploaded.txt; then
// Do some work here
echo netherlands >> uploaded.txt
fi
因为Netherlands Antillies
已经在文本文件中,所以它不会运行脚本的“荷兰”部分,而我确实需要它。
有没有办法不只grep
搜索字符串的一部分?我不想搜索netherlands
匹配的netherlands-antilles
.
答案1
如果这些条目是该文件行中的唯一内容,您可以使用正则表达式来包含行的开头和行的 enf:
if ! grep "^netherlands$" uploaded.txt; then
// Do some work here
echo netherlands >> uploaded.txt
fi