Linux Tip #1: Xử lý File/Output của command từng dòng trực tiếp trên shell

21/02/2020
63 Lượt xem

Trường hợp muốn xử lý từng dòng của file hoặc output trực tiếp trên command line mà không cần viết bash, các bác có thể làm như sau:

[zero2hero@vietnix.vn ~]$ awk -F":" '{print $1}' /etc/passwd | while read line ; do echo "[+] User: $line" ; sudo crontab -u $line -l ; echo ; done

Đoạn quan trọng là đoạn pipeline sau command sinh ra output kết hợp với “while read line”, mỗi dòng trong output sẽ được lưu lần lượt vào biến “$line”, dựa vào đó rồi xử lý theo ý mình.

Ví dụ trên mình liệt kê danh sách user trên máy, với mỗi user in ra dách cronjob của họ, và kết quả của mỗi user sẽ cách dòng bởi 1 dòng trống.