Я понял это, и это довольно неловко.
Я баловался, создавал и удалял пользователей -моя первоначальная учетная запись пользователя называлась (первая буква имя )+ (фамилия ). Я также создал (фамилию ). Я удалил (первую букву имени )+ (фамилию )при попытке удалить (фамилию ).
Я вошел в систему напрямую и повторно -создал исходную учетную запись пользователя. Задача решена.
...упс.
замените одинарные кавычки фигурными скобками, поэтому
awk {/manager/ {print $4}} sourcefile.txt
Символ одиночной кавычки (' )не имеет специального значения в языке Tcl. Это просто обычный персонаж. В Tcl слова разбиваются на пробелы, поэтому любые литералы или строки с пробелами следует заключать в кавычки. Есть два способа заключать строки в кавычки. С фигурными скобками и с кавычками.
При заключении в фигурные скобки замены не выполняются. Встроенные фигурные скобки можно экранировать с помощью обратной косой черты, но обратите внимание, что обратная косая черта является частью строки.
При заключении в двойные кавычки обрабатываются подстановки команд, обратной косой черты и переменных.
это можно просто сделать в tcl
set fi [ open "file.txt" ]
set lines [split [read $fi] "\n"]
close $fi
foreach line $lines {
if { [ regexp {^.+manager.+$} $line manager ] } {
regexp {[0-9]+$} $manager account
puts $account
}
}
или более awk -например
foreach line $lines {
set la [ split $line ]
if { [ lindex $la 1 ] eq {manager} } {
puts [ lindex $la 3 ]
}
}
обратите внимание, что индекс списка начинается с 0, а awk $4
' равен tcl[lindex $la 3]