У меня есть файл и я хочу удалить строки, когда пользователь вводит идентификатор в UNIX / Vi.
Файл называется 'users' и содержит:
001:joe:one:20:01:02
002:joe:two:21:06:02
003:joe:three:22:05:02
004:joe:four:23:04:02
Я использовалследующая функция в Vi:
function deleteRecord()
{
echo "Please enter staff ID: "
read userID
#store staffID in variable
sID=$( grep -w "$userID" users )
#store staff details only if user does not exist
#else prompt them to input again until they enter unused data
if [ $? -ne 0 ]
then
echo "Sorry that user does not exist!"
echo "Try entering a different staff ID to delete"
deleteRecord
elif [ $? -eq 0 ]
then
#:g/^$userID:/d
#sed /$userID/d users >tmp
#imv tmp users
echo "You have successfully deleted the user."
sleep 2
mainMenu
fi
}
Я пробовал это, но это не работает!Сед это проблема?
Пожалуйста, помогите.