私は物を保存するのが好きで保存したいと思います.bash_history
。
スクリプトを使用してディレクトリにコピーしたいです。ここのように
#!/bin/bash
#Something here? number=~/Desktop/Coding/Bash\ Histories/bash_history "?"
cp ~/.bash_history ~/Desktop/Coding/Bash\ Histories/bash_history #$number "?"
しかし、すでになどのファイルがありますbash_history
。bash_history 2
bash_history 3
最大数(この場合は5)を確認したいと思います。存在する場合はbash_history 5
名前を付けたいと思いますbash_history 6
。
それならbash_history 11111
名前を付けたいですbash_history 11112
。
if
ここでどのコマンドを組み合わせて使用するのかわかりませんgrep
。
答え1
ls
、sort
およびを使用してtail
これを行うことができます cut
。
まず、すべてのファイルに番号を付けるように名前をbash_history
に変更します。bash_history 1
次に、次のコマンドを実行して次のファイルをコピーします。
#!/bin/bash
D=~/Desktop/Coding/Bash\ Histories
num=$(ls "$D" | cut -d ' ' -f 2 | sort -nr | head -1)
num=$(( num + 1 ))
cp ~/.bash_history "$D/bash_history $num"
ls $D
"storage"ディレクトリにあるファイルのみを一覧表示します。各名前(bash_history 16
パスを除く)から2番目のフィールド(number)をcut -d ' ' -f 2
分割して取得します。文字列が最初に出てくるので、この方法で見つけた数字は数字順に()逆順()でソートされます。そのリスト(反対であることを覚えておいてください)から、最大数の最初の数字を選択してください。その数を増やして、次のファイルに使用します。' '
16
-r
-n
10
2
まず、サイズの順序(5桁など)を決定し、次にゼロを直接取得するために使用することをお勧めしますprintf %05d $num
(これにより、ファイルはアルファベット順に数字の順序と同じになります(少なくとも100000に達するまで))。