Wednesday, July 3, 2024

[Bash] Lấy thư mục cha và thư mục con trong Linux

-

basenamedirname là hai câu lệnh dòng lệnh được sử dụng để trích xuất tên thư mục và đường dẫn của một đường dẫn file hoặc thư mục.

Lấy thư mục cha.

Bạn có thể sử dụng lệnh dirname để trích xuất tên thư mục cha từ đường dẫn hiện tại. Ví dụ, để tách đường dẫn /home/wordpress thành /home, bạn có thể sử dụng lệnh sau trong Bash:

source='/home/wordpress'
parent=$(dirname "$source")
echo "$parent"

Kết quả sẽ là /home. Trong đó, biến parent chứa tên thư mục cha của đường dẫn hiện tại được lấy bằng lệnh dirname, sau đó in kết quả sử dụng lệnh echo.

Lấy thư mục con.

Để lấy tên thư mục con từ đường dẫn /home/wordpress, bạn có thể sử dụng lệnh basename trong Bash như sau:

source='/home/wordpress'
child=$(basename "$source")
echo "$child"

Kết quả sẽ là wordpress. Trong đó, biến child chứa tên thư mục con của đường dẫn hiện tại được lấy bằng lệnh basename, sau đó in kết quả sử dụng lệnh echo.

Ví dụ kết hợp.

Ví dụ 1: Bạn có thể sử dụng câu lệnh basename để lấy tên của thư mục từ đường dẫn đầy đủ. Ví dụ, để lấy tên của thư mục “wordpress” từ đường dẫn “/home/wordpress/hoanghd”, bạn có thể sử dụng lệnh:

basename $(dirname "/home/wordpress/hoanghd")

Kết quả sẽ là “wordpress”.

Tương tự, để lấy tên của thư mục “hoanghd”, bạn có thể sử dụng lệnh:

basename "/home/wordpress/hoanghd"

Kết quả sẽ là “hoanghd”.

Nếu bạn muốn lấy tên của thư mục “wordpress” từ đường dẫn “/home/wordpress/hoanghd”, bạn có thể sử dụng lệnh:

basename $(dirname $(dirname "/home/wordpress/hoanghd"))

Hoặc có thể sử dụng lệnh:

echo "/home/wordpress/hoanghd" | awk -F/ '{print $(NF-1)}'

Cả hai lệnh đều sẽ cho kết quả là “wordpress”.

Ví dụ 2: Bạn có thể sử dụng câu lệnh basename kết hợp với ký tự % để loại bỏ phần đầu của đường dẫn và giữ lại phần cuối cùng, sau đó sử dụng ký tự . để lấy đuôi file.

$ file="/home/wordpress/wiki.sql"
$ extension="${file##*.}"
$ echo $extension
sql

Trong đó, ${file##*.} sẽ loại bỏ phần đầu của biến $file và giữ lại phần cuối cùng sau dấu chấm, nghĩa là đuôi của file. Sau đó, chúng ta gán giá trị này cho biến extension để lấy được đuôi file.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories