簡體   English   中英

在同一行執行 2 個 bash 命令

[英]Execute 2 bash commands on same line

我制作了一個 bash 腳本來輸出*txt文件的內容並打印在同一行上執行的文件的名稱。 但無緣無故第一行只有輸出,下一行有第一個輸出的名稱+下一個文件的輸出。 我怎么能有file name + output

for i in *.txt; do cat "$i" && echo -n "$i"; done

輸出:

ignore
alex.txt11111
alex1.txtda
alex2.txtnu
alex3.txt

正確的是

alex.txt ignore; alex1.txt 11111; alex2.txt da; alex3.txt nu

您首先打印文件的內容,然后在沒有換行符的情況下打印其名稱( echo -n )。 你應該做相反的事情:打印沒有換行符的名稱,但在末尾有一個額外的空格,然后打印文件的內容。

for f in *.txt; do
    echo -n "$f "
    cat "$f"
done

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM