Shell
tar 不全部存在的文件列表
我正在從腳本執行命令,例如
tar -c -f ar.tar a b c d
其中 b、c 和 d 可能不存在,並且可能是目錄。我提出的解決方案是將
ls -d
to的輸出通過管道傳輸grep
,然後將其拼接到tar
命令中,或者為@(a|b|c|d)
.有沒有更簡潔的方法來做到這一點?我在 Debian Wheezy 上,它似乎沒有
--include
參數。
你可以試試
tar cf ar.tar $(ls a b c d )
在哪裡
c
為創建f ar.tar
指定 tar 文件$(ls a b c d)
將向標準輸入列出真正存在的文件(並為其他文件提供錯誤)
如果可以在 tar 存檔中包含文件的完整路徑,您可以執行以下操作:
tar -c -f ar.tar $(readlink -e a b c d)
readlink
-e
選項將規範化現有文件名並默默地忽略任何其他文件名。