私はobjdumpコマンドを使用して現在のディレクトリに.o拡張子を持つすべてのファイルを分解し、このコマンドの各.oファイル出力を同じベース名を持つ.txtファイルに保存してみました。
たとえば、私のディレクトリに次の3つのファイルがあるとします。
myfirstfile.o
someotherfile.o
finalfile.o
objdump
私の目標は、3つの新しい追加ファイル(各ファイルには対応する元の.oファイルのコマンド出力が含まれている)を作成することです。
myfirstfile.txt
someotherfile.txt
finalfile.txt
私が試したことは次のとおりです。ただし、「あいまいなリダイレクト」とのみ表示されます。
objdump -d --no-show-raw-insn *.o > *.txt
ベストアンサー1
各ファイルに対してコマンドを実行する必要があるため、ループを使用するのが最善です。
シェルを含むzsh
:
for f (./*.o) objdump -d --no-show-raw-insn $f > $f:r.txt
bash
シェルまたは他のPOSIXシェル(含む)を使用するzsh
:
for f in ./*.o; do objdump -d --no-show-raw-insn "$f" > "${f%.o}.txt"; done
*.txt
ファイルが存在しない場合.o
(にはありませんzsh
)という名前の空のファイルが作成されます。