Cat
cat 命令的屬性
一個簡單的問題,我可以在我想要的位置創建一個文件嗎& 使用cat命令&而不使用管道& 並且該位置是我目前所在的其他地方。(我會很感激編輯)
$ cat > location/i/want/theFileImCreating
cat
並沒有真正創建文件。它只是寫入其標準輸出。在上面的命令中,是輸出重定向 (>
)(由 shell 設置)創建文件(或清空已經存在的文件)。預設情況下,重定向 (
>
) 會破壞目標(如果存在)。如果你想阻止這種情況,set -o noclobber
是你的朋友。如果您不想用任何內容填充文件,
touch
將創建一個新的空文件(或更新現有文件的時間戳)。如果你想嚴格地“創建”一個新文件,包括它的路徑,一個輔助 shell 函式/腳本可能會派上用場:
fcreat(){ while (( "$#" )); do [ ! -f "$1" ] && { mkdir -p "$(dirname "$1")"; touch "$1"; }; shift done }
用法:
$ fcreat location1/i/want/file1 location2/i/want/file2 $ tree $ tree . ├── location1 │ └── i │ └── want │ └── file1 └── location2 └── i └── want └── file2
fcreat:我不知道我是否正在成為一名 Unix 專家,或者我是否只是失去了拼寫能力。