Как использовать awk в скрипте tcl?

Я понял это, и это довольно неловко.

Я баловался, создавал и удалял пользователей -моя первоначальная учетная запись пользователя называлась (первая буква имя )+ (фамилия ). Я также создал (фамилию ). Я удалил (первую букву имени )+ (фамилию )при попытке удалить (фамилию ).

Я вошел в систему напрямую и повторно -создал исходную учетную запись пользователя. Задача решена.

...упс.

1
18.06.2020, 07:12
2 ответа

замените одинарные кавычки фигурными скобками, поэтому

awk {/manager/ {print $4}} sourcefile.txt

Символ одиночной кавычки (' )не имеет специального значения в языке Tcl. Это просто обычный персонаж. В Tcl слова разбиваются на пробелы, поэтому любые литералы или строки с пробелами следует заключать в кавычки. Есть два способа заключать строки в кавычки. С фигурными скобками и с кавычками.

При заключении в фигурные скобки замены не выполняются. Встроенные фигурные скобки можно экранировать с помощью обратной косой черты, но обратите внимание, что обратная косая черта является частью строки.

При заключении в двойные кавычки обрабатываются подстановки команд, обратной косой черты и переменных.


Или вы также можете сделать все на языке Tcl

2
18.03.2021, 23:27

это можно просто сделать в 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]

1
18.03.2021, 23:27

Теги

Похожие вопросы