awk -F\; 'length($3) == 30' file.csv
Если у Вас может быть пробел (как это появляется), можно избавиться от него путем создания его частью разделителя полей:
awk -F' *; *' 'length($3)==30' file.csv
Концептуальный уровень
При запуске процесса с оболочки текущий рабочий каталог процесса совпадает с текущим рабочим каталогом оболочки. В контексте оболочки текущий рабочий каталог является местоположением, в котором Вы в настоящее время.
Текущий рабочий каталог любого процесса используется для интерпретации относительных путей. Например, если текущий рабочий каталог Вашей оболочки был /home/rene
и Вы работали ls ..
от оболочки, текущего рабочего каталога процесса, /home/rene
, использовался бы для разрешения ..
кому: /home
.
Вы видите, что ток работает каталоги всех процессов, работающих на Вашей системе с lsof | grep '\scwd\s'
(обратите внимание, что необходимо будет, вероятно, быть корнем для наблюдения процессов других пользователей.) Это может дать Вам общее представление о том, как текущие рабочие каталоги касаются процессов, работающих на Вашей системе.
Уровень программы
Текущий рабочий каталог оболочки является каталогом, который Вы видите и изменяете с созданной-ins оболочкой pwd
и cd
соответственно. Эти команды называют системные вызовы таким как getcwd
и chdir
та работа с текущим рабочим каталогом Вашей оболочки.
Используя bash
как пример, cd
встроенный в конечном счете выполняет эту строку:
if (chdir (nolinks ? newdir : tdir) == 0)
и pwd
встроенный в конечном счете выполняет эту строку:
the_current_working_directory = getcwd (0, PATH_MAX);
Оболочка является просто удобным примером использования текущего рабочего каталога; эти те же системные вызовы используются другими программами также. Программа может изменить свой текущий рабочий каталог на /usr
и любые относительные пути, которые использование программы запустит с /usr
каталог,
Уровень ядра
Текущий рабочий каталог процесса хранится ядром. Linux хранит его в pwd
член a fs_struct
указанный fs
член a task_struct
. pwd
участник является a path
структура, которая указывает на информацию о монтировании (vfsmount
) и местоположение каталога в файловой системе (dentry
). Каждый процесс имеет a task_struct
связанный с ним.
chdir
и getcwd
системные вызовы изменяют и получают информацию в pwd
.
Каждый процесс имеет текущий рабочий каталог (CWD), который он присвоен тому, когда он запускает. Можно сделать следующее для обнаружения рабочего каталога для процесса.
Выполненный PS aux для обнаружения PID процесса:
$ pgrep cupsd
24532
Узнать текущий рабочий каталог PID: 24532
$ sudo pwdx 24532
24532: /
Так процесс (PID: 24532), имеет CWD /
.
Вот другой пример:
$ sleep 1000 &
[1] 15988
$ pwdx 15988
15988: /home/sam
На этот раз спящий процесс (PID: 15988), имеет, это - набор CWD к моему корневому каталогу, /home/sam
.
Можно также работать ls -l
команда:
$ sudo ls -l /proc/24532/cwd
lrwxrwxrwx 1 root root 0 Apr 30 19:18 /proc/24532/cwd -> /
- или -
$ ls -l /proc/15988/cwd
lrwxrwxrwx 1 sam sam 0 Apr 30 19:23 /proc/15988/cwd -> /home/sam
Здесь можно снова видеть CWD для тех процессов, /
и /home/sam
.