我必須在bash語言中編寫ubuntu linux中的腳本,它必須在命令行中使用三個參數:第一個文件的名稱,其行必須排序,第二個文件(如果我想要按字母順序排序升序或'z',如果我想按字母順序排序降序)和第三個正數'n'。我只需要排序多個'n'的行。例如,如果我有一個100行和n = 5的文本文件,那麼我只需要排序行5,10,15,...,100,其餘的必須保持不變。這可以做到嗎? 我能找到和多個「n」的這樣的線路進行排序:(bash腳本)如何對文件中'n'位置倍數的行進行排序?
awk "NR%$n==0" archivo.txt | sort -f
,但現在我不知道該怎麼寫一遍這些行到文件中。
感謝您的關注
向我們展示你到目前爲止所擁有的。 –
我可以找到'n'的倍數的行,並像這樣排序:awk「NR%$ n == 0」file.txt | sort -f但現在我不能再將這些行再次引入到文件中。 –
僅供參考,這將更好地寫爲'awk -v n =「$ n」'NR%n == 0'';使用字符串替換來生成腳本(使用任何語言 - 不僅僅是awk,還包括bash,SQL等)顯然是不安全的,而不是從代碼中帶外傳遞數據。 –