Cấu trúc trong bash được gọi là nơi bạn có thể thực hiện một lệnh kết xuất thành stdout, sao cho đầu ra được xử lý giống như một luồng? Trong trường hợp tôi không mô tả tốt như vậy, có thể ví dụ sẽ làm tốt nhất, và đây là những gì tôi thường sử dụng để: áp dụng diff cho đầu ra không đến từ một tệp, nhưng từ các lệnh khác, trong đóCấu trúc Bash (và/hoặc trình bao khác?) Này được gọi là gì?
cmd
được gói như
<(cmd)
By gói một lệnh theo cách như vậy, trong ví dụ dưới đây, tôi xác định rằng có một sự khác biệt của một giữa hai lệnh mà tôi đang chạy, và sau đó tôi có thể để xác định rằng một sự khác biệt chính xác. Cấu trúc/kỹ thuật bao bọc lệnh là < (cmd) được gọi là gì? Cảm ơn
[[email protected] v6.5 html]$ git status | egrep modified | awk '{print $3}' | wc -l
51
[[email protected] v6.5 html]$ git status | egrep modified | awk '{print $3}' | xargs grep -l 'Ext\.define' | wc -l
50
[[email protected] v6.5 html]$ diff <(git status | egrep modified | awk '{print $3}') <(git status | egrep modified | awk '{print $3}' | xargs grep -l 'Ext\.define')
39d38
< javascript/reports/report_initiator.js
PHỤ LỤC Lệnh sửa đổi bằng cách sử dụng những lời khuyên cho việc sử dụng ls-file git nên thực hiện như sau (chưa được kiểm tra):
diff <(git ls-files -m) <(git ls-files -m | xargs grep -l 'Ext\.define')
Không phân tích cú pháp 'git status', sử dụng' git ls-files -m'! – Mat
Cảm ơn git tip, làm việc như một nét duyên dáng –
Nó được gọi là một abomination. ;) –