Раскрытие тайн получения реального пути в Awk

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

Метод 1: использование команды «readlink».
Команда «readlink» — это удобная утилита, которая может разрешать символические ссылки и предоставлять реальный путь. Мы можем использовать эту команду в сценарии Awk, чтобы получить реальный путь к файлу или каталогу.

awk 'BEGIN{ "readlink -f file.txt" | getline path; print path }'

Метод 2: использование команды «realpath».
Подобно «readlink», команда «realpath» также может разрешать символические ссылки и предоставлять реальный путь. Давайте включим его в скрипт Awk:

awk 'BEGIN{ cmd="realpath file.txt"; cmd | getline path; print path }'

Метод 3: использование команды «pwd» и переменной оболочки
В этом методе мы можем объединить команду «pwd» с переменной оболочки, содержащей путь к файлу или каталогу.

awk 'BEGIN{ cmd="pwd"; cmd | getline path; path=path"/file.txt"; print path }'

Метод 4: объединение Awk с командой «find».
Команда «find» может искать файлы и каталоги на основе различных критериев, включая реальный путь. Мы можем использовать эту команду вместе с Awk, чтобы получить реальный путь.

awk 'BEGIN{ cmd="find / -name file.txt -type f -print -quit"; cmd | getline path; print path }'

Метод 5: использование команды «stat».
Команда «stat» предоставляет подробную информацию о файлах и каталогах, включая реальный путь. Мы можем использовать его в сценарии Awk для извлечения реального пути.

awk 'BEGIN{ cmd="stat -c '%N' file.txt"; cmd | getline path; sub(/^\"/, "", path); sub(/\"$/, "", path); print path }'

В этой статье мы рассмотрели несколько методов получения реального пути к файлу или каталогу в Awk. Мы использовали такие команды, как «readlink», «realpath» и «find», а также переменные оболочки и команду «stat». Включив эти методы в свои сценарии Awk, вы сможете легко и точно выполнять манипуляции с путями.