Cat

cat 命令的屬性

  • July 25, 2015

一個簡單的問題,我可以在我想要的位置創建一個文件嗎& 使用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 專家,或者我是否只是失去了拼寫能力。

引用自:https://unix.stackexchange.com/questions/218246