#!/bin/bash
for file in $(find . -type f -name "*.txt"); do
echo "hello $(basename $file)";
done
Используйте find
, чтобы найти каждый файл в текущем каталоге с расширением .txt
, затем echo
привет перед именем файла.Используйте basename
, чтобы получить только имя файла, иначе оно будет отображаться как ./a.txt
Если вы только хотите искать в текущем каталоге, а не в подкаталогах, то добавьте -depth 1
к команде find
.
Обновление: В ответ на комментарий: Большинство конструкций Bash можно превратить в однострочные, используя соответствующие точки с запятой, так что вы можете легко сделать:
for file in $(find . -type f -name "*.txt"); do echo "hello $(basename $file)"; done