Điểm:1

zsh: Hiểu đầu ra lệnh từ wc và chuyển nó sang các lệnh khác

lá cờ gq

Tôi đang cố gắng tạo một lệnh phức tạp (sử dụng thay thế shell và biểu thức số học) và tôi tự hỏi liệu có ai có thể giúp tôi hiểu đầu ra của nhà vệ sinh chỉ huy.

Chẳng hạn, đây là một vài ví dụ:

[11:10:33] labreu:~ $ wc -l test.txt
5 test.txt
[11:10:40] labreu:~ $ cat test.txt| wc -l
5

Tại sao lệnh trả về các giá trị khác nhau? Tôi đã thử xem trang người đàn ông của nó, nhưng không có gì về nó ...

Nhân tiện, tôi chỉ hỏi về điều này vì tôi đang cố bỏ qua x dòng của tệp bằng lệnh sau:

[11:25:35] labreu:~ $ tail -n "+$(( $(wc -l test.txt)-2 ))" test.txt                       
zsh: biểu thức toán học sai: dự kiến ​​toán tử tại `test.txt-2...'

Sau khi nhận thấy rằng nhà vệ sinh lợi nhuận tên tệp number_of_lines và rằng bằng cách sử dụng các đường dẫn (hoặc chuyển hướng tạo ra một kết quả khác), tôi đã xoay sở để có được những gì tôi cần bằng cách sử dụng một cái gì đó như thế này:

đuôi -n "+$(( $(wc -l<test.txt )-2 ))" test.txt

đuôi -n "+$(( $(cat test.txt | wc -l )-2 ))" test.txt 

Dù sao, câu hỏi chính vẫn là: tại sao nhà vệ sinh lệnh trả về đầu ra khác nhau khi được sử dụng trong một đường ống (hoặc với chuyển hướng đầu vào)?

Cảm ơn

Điểm:0
lá cờ cn

Phương pháp đầu tiên bạn sử dụng trên dòng lệnh. Phương pháp thứ 2 có thể được sử dụng khi viết mã.

Bản thân lệnh có thể thực hiện việc này cho nhiều hơn 1 tệp, vì vậy nó cần cho bạn biết số lượng dòng thuộc về tệp nào.

$ wc -l *.xml
   712 1.xml
  3055 2.xml
   464 3.xml
  3055 4.xml

wc -l bản thân nó không phân biệt giữa 1 tệp, ký tự đại diện hoặc nhiều tệp. Để làm điều đó mà không có tên tôi có xu hướng sử dụng wc -l < ​​file.txt vì vậy với một chuyển hướng.

Phương thức nối/phiên bản đường ống luôn là 1 tệp nên tên của tệp được ngụ ý. Một vòng lặp for vẫn có nghĩa là 1 tệp cho mỗi wc -l nhưng lặp đi lặp lại nhiều lần.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.