2013-04-30 46 views
1

我在file.txt上使用awk運行以下命令,目前它在file.txt中從上到下運行命令。我希望命令以與file.txt中存在的id相反的順序運行。關於我們如何做到這一點的任何輸入?按照文件中存在的ID的反義順序執行命令

git command $(awk '{print $1}' file.txt) 

file.txt contains. 

97a65fd1d1b3b8055edef75e060738fed8b31d3 
fb8df67ceff40b4fc078ced31110d7a42e407f16 
a0631ce8a9a10391ac4dc377cd79d1adf1f3f3e2 

..... 
+0

是否要反向運行文件,還是從上到下排序?反向作爲2e3f3f1fda ...或從上到下爲9項,第8項,第7項,第6項等 – 2013-04-30 19:29:38

+0

逆向....爲了運行應a0631ce8a9a10391ac4dc377cd79d1adf1f3f3e2,fb8df67ceff40b4fc078ced3​​1110d7a42e407f16,97a65fd1d1b3b8055edef75e060738fed8b31d3 .. – user2125827 2013-04-30 19:34:00

+0

你必然要使用awk還是你打開其他解決方案? – 2013-04-30 19:35:43

回答

1

如果沒有綁定到使用awk然後tail-r(反向)的說法也有問題......

MYFILE.TXT

97a65fd1d1b3b8055edef75e060738fed8b31d3 
fb8df67ceff40b4fc078ced31110d7a42e407f16 
a0631ce8a9a10391ac4dc377cd79d1adf1f3f3e2 

我們打印反向...

$ tail -r myFile.txt 

a0631ce8a9a10391ac4dc377cd79d1adf1f3f3e2 
fb8df67ceff40b4fc078ced31110d7a42e407f16 
97a65fd1d1b3b8055edef75e060738fed8b31d3 

編輯: 要其輸出到一個文件只要將它...

$ tail -r myFile.txt > newFile.txt 

編輯: 要寫入相同的文件?沒問題!

tail -r myFile.txt > temp.txt; cat temp.txt > myFile.txt; rm temp.txt; 

因爲當我重定向tail -r到同一個文件中的一些原因,它回來了空白,此解決辦法寫入到一個臨時的「緩衝」文件避免了這個問題。

+0

這是實際上是要更新文件還是隻是打印到控制檯上的控制檯上打印的jsut文件 – user2125827 2013-04-30 19:41:01

+0

文件所有你需要做的是把它挖出來 – 2013-04-30 19:45:22

1

要反轉使用AWK在一個文件中的行中,使用

awk '{a[i++]=$0} END {for (j=i-1; j>=0;) print a[j--] }' file 

使用$1代替上述$0到在第一字段僅而不是整個線操作。