私は走ろうとしていますcryptsetup benchmark --cipher
。/proc/crypto
/proc/crypto
私は以下を実行してリストを取得しました。
cd ./Documents/; cat /proc/crypto | grep "name" | cut -c 16- | tee ciphers.txt
今、各パスワードを順番に渡す方法を見つけようとしていますcryptsetup
。最初の試みは簡単でしたが、今cat ciphers.txt | cryptsetup benchmark --cipher
作成したリストを.CSVファイルに変換してループを介して渡す必要があるかもしれません。それfor
。
ciphers.txt
あまり努力をかけずに私が作成したリストを使用してに渡す方法はありますかcryptsetup
?
ベストアンサー1
あなたの問題はdm_cryptとは関係ありません。これは単純なシェルプログラミングの質問です。
まずコミットします。 猫虐待。代わりにcat /proc/crypto | grep "name"
書いてくださいgrep name /proc/crypto
(引用符は必要ありません)。
grepとcutを組み合わせて単一のコマンドにすることもできますsed
。読み取りは必ずしも簡単ではありませんが、sed -n '/^name/s/.*: //p' /proc/crypto
2つではなく1つのコマンドが必要です。印刷ラインはデフォルトでブロック-n
されています。sed
プログラムは、「name」で始まる行を探し、コロンの後のスペースが出るまで行の最初の部分を削除します。p
後で必ず印刷してください。
今、あなたの質問に答えます。。この--cipher
オプションにはパスワードが必要であることがわかります。これはcryptsetup benchmark
、各パスワードに対して一度、複数回実行する必要があることを意味します。これには次のようなループが必要です。
for cipher in $(<cipher.txt)
do cryptsetup benchmark --cipher "$cipher"
done
一部のパスワード名には特殊文字(括弧など)が含まれているため、引用符が必要です。
ファイルが不要な場合は、cipher.txt
これらすべてを一度に実行できます。
for cipher in $(grep name /proc/crypto | cut -c 16-)
do cryptsetup benchmark --cipher "$cipher"
done