Я пишу сценарий оболочки для замены имен в базе данных, для этого у меня есть список текущих имен пользователей и новое имя в файле .txt. Формат файла, как показано ниже
**new name current name**
abc pqr
def stq
mnd tdh
Для этого я пишу «для цикла», используя команду awk
, где я хочу, чтобы она давала мне значение $1
, то есть abc
, def
, mnd
и т. д.
Я написал для цикла, как показано ниже,
function ()
{
cd $directory
for i `cat $filename.txt` | awk '{print $1}'
do
j=`grep "$i `cat $filename.txt ` | awk '{print $1'} |awk '{print $2}'"`
echo "update table SET username = '$i' WHERE username = '$j;"
done
}
Но почему-то это не работает. может кто-нибудь помочь здесь написать код в сценарии оболочки?