用For迴圈加cat按順序合併檔案

2021-09-05 08:13:07 字數 2550 閱讀 6773

工作目錄下面有mydoc1.txt,mydoc2.txt...mydoc41.txt,本來想用sed排列依次取值排序,然後用cat來合併這些檔案,發現達不到預期效果,合併令如下所示:

ls -lf *.txt | sed  -n '/mydoc1/,/mydoc41/p' | xargs -i cat {}> >mynew.txt
發現用其命令達不到預期效果,後來經檢查發現,問題應該出現在sed排序上面,它仍然是按照位數來進行排序,並沒有智慧型的按照範圍來排序,sed取值命令如下:

ls-lf *.txt |sed-n'/mydoc1/,/mydoc41/p'

命令顯示結果如下所示:

-rw-r--r-- 1 root root  0 oct 12 13:38 mydoc10.txt

-rw-r--r-- 1 root root 0 oct 12 13:38 mydoc11.txt

-rw-r--r-- 1 root root 0 oct 12 13:38 mydoc12.txt

-rw-r--r-- 1 root root 3 oct 12 14:48 mydoc13.txt

-rw-r--r-- 1 root root 0 oct 12 13:38 mydoc14.txt

-rw-r--r-- 1 root root 0 oct 12 13:38 mydoc15.txt

-rw-r--r-- 1 root root 0 oct 12 13:38 mydoc16.txt

-rw-r--r-- 1 root root 0 oct 12 13:38 mydoc17.txt

-rw-r--r-- 1 root root 0 oct 12 13:38 mydoc18.txt

-rw-r--r-- 1 root root 0 oct 12 13:38 mydoc19.txt

-rw-r--r-- 1 root root 0 oct 12 13:38 mydoc1.txt

-rw-r--r-- 1 root root 0 oct 12 13:38 mydoc20.txt

-rw-r--r-- 1 root root 0 oct 12 13:38 mydoc21.txt

-rw-r--r-- 1 root root 0 oct 12 13:38 mydoc22.txt

-rw-r--r-- 1 root root 0 oct 12 13:38 mydoc23.txt

-rw-r--r-- 1 root root 0 oct 12 13:38 mydoc24.txt

-rw-r--r-- 1 root root 0 oct 12 13:38 mydoc25.txt

-rw-r--r-- 1 root root 0 oct 12 13:38 mydoc26.txt

-rw-r--r-- 1 root root 0 oct 12 13:38 mydoc27.txt

-rw-r--r-- 1 root root 0 oct 12 13:38 mydoc28.txt

-rw-r--r-- 1 root root 0 oct 12 13:38 mydoc29.txt

-rw-r--r-- 1 root root 0 oct 12 13:38 mydoc2.txt

-rw-r--r-- 1 root root 0 oct 12 13:38 mydoc30.txt

-rw-r--r-- 1 root root 0 oct 12 13:38 mydoc31.txt

-rw-r--r-- 1 root root 0 oct 12 13:38 mydoc32.txt

-rw-r--r-- 1 root root 0 oct 12 13:38 mydoc33.txt

-rw-r--r-- 1 root root 0 oct 12 13:38 mydoc34.txt

-rw-r--r-- 1 root root 0 oct 12 13:38 mydoc35.txt

-rw-r--r-- 1 root root 0 oct 12 13:38 mydoc36.txt

-rw-r--r-- 1 root root 0 oct 12 13:38 mydoc37.txt

-rw-r--r-- 1 root root 0 oct 12 13:38 mydoc38.txt

-rw-r--r-- 1 root root 0 oct 12 13:38 mydoc39.txt

-rw-r--r-- 1 root root 2 oct 12 14:48 mydoc3.txt

-rw-r--r-- 1 root root 0 oct 12 13:38 mydoc40.txt

-rw-r--r-- 1 root root 6 oct 12 14:48 mydoc41.txt

所以用如下命令來實現需求:命令如下所示:

for ((i=1;i<=41;i++))do echo mydoc$i.txt;done | xargs -i cat {} >> mynew.txt

用For迴圈加cat按順序合併檔案

工作目錄下面有mydoc1.txt,mydoc2.txt.mydoc41.txt,本來想用sed排列依次取值排序,然後用cat來合併這些檔案,發現達不到預期效果,合併令如下所示 ls lf txt sed n mydoc1 mydoc41 p xargs i cat mynew.txt發現用其命令達...

用For迴圈加cat按順序合併檔案

工作目錄下面有mydoc1.txt,mydoc2.txt.mydoc41.txt,本來想用sed排列依次取值排序,然後用cat來合併這些檔案,發現達不到預期效果,合併令如下所示 ls lf txt sed n mydoc1 mydoc41 p xargs i cat mynew.txt發現用其命令達...

用pandas按列合併兩個檔案的例項

可以發現,a檔案中 漢字井號 這一列和b檔案中 well 這一列的屬性相同,以這一列為主鍵,把b檔案中 time 這一列資料新增到a檔案中,如果b檔案缺少某些行,則空著,最後a檔案的行數不變,效果如下 如下 coding utf 8 created on wed nov 29 16 02 05 20...