出力フラグの出力ファイル-o
。
残念ながら、スクリプトには実際のファイルが必要なようです。つまり、ユーザーは0バイトの空のファイルfilename.txt
を作成してから、これを入力する必要があります。スクリプトコマンドラインの空のファイル
perl script1.pl -o filename.txt
質問:bashスクリプト内に空のファイルを作成するにはどうすればよいですか?perl script1.pl -o filename.txt
、スクリプトはファイルが存在しないというエラーを出します。
コメント
-
touch filename.txt
- ターミナルを使用して単純な.txt(テキスト)ファイルを作成する方法
- 関連項目ファイルを作成するためのシェルコマンドが'ないのはなぜですか?
回答
touch
通信を使用そして。 touch filename.txt
。
コメント
回答
nullコマンド(:
)リダイレクト(> filename
)トリック(:>
)。これはゼロに切り捨てられるか、名前付きファイルを作成します。
$ echo foo > filea $ :> filea $ wc -c filea 0 filea $ rm filea $ :> filea $ wc -c filea 0 filea
(シェルがNOCLOBBERオプションを設定すると失敗します。)
コメント
- noclobberが設定されている場合は、リダイレクト
>|
を使用してclobberを実行するため、:>| filea
-documented マニュアルでは -
> filename.txt
で十分であり、:
は必要ありません。または、>> filename.txt
存在しない場合は'ゴミ箱に入れたくない場合。 - @ilkkachu質問はBashを指定しますが、
:
を使用すると、スクリプトが他のシェルでタスクを実行する可能性が高くなります。 Zsh。
回答
いつでもperlを使用できます。
$ stat filename.txt stat: cannot stat "filename.txt": No such file or directory $ perl -e "open($fh,">","filename.txt") or die $!;close($fh)" $ stat filename.txt File: "filename.txt" Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: 801h/2049d Inode: 280728 Links: 1 Access: (0664/-rw-rw-r--) Uid: ( 1000/ xieerqi) Gid: ( 1000/ xieerqi) Access: 2017-02-08 13:51:01.479121995 -0700 Modify: 2017-02-08 13:51:01.479121995 -0700 Change: 2017-02-08 13:51:01.479121995 -0700 Birth: -
回答
最短の方法:
>filename
コメント
- ベストアンサー。 '短くすることはできませんでした。
echo -n >file
echo -n "" > filename
ファイルが存在する場合は空にし、存在しない場合はファイルを作成します'存在しません。