/sys/info
ホスト名は、次の形式のテキストファイルに含まれています。
Host Name: xxxxxxx
xxxxxxx
私はそれからホスト名を取得し(この場合)、/sys/info
親ディレクトリの名前をそのホスト名と同じに変更したいと思います。
答え1
sys/info
ファイルがあるディレクトリを見つけて、そのファイル内で名前を変更しようとしているとしますHost name
。
LC_ALL=C find . -depth -path './*/sys/info' -type f -exec sh -c '
for file do
if host=$(grep -Poxm1 "Host Name:\s*\K\S+" < "$file"); then
echo mv -iT -- "${file%/sys/info}" "${file%/*/sys/info}/$host"
fi
done' sh {} +
(GNUgrep
とGNUの仮定mv
、テストされていません)
これを行うには、削除してくださいecho
。