前に挿入する#include
// file1.cpp
#include <string>
#include <unordered_map>
void func() {
. . .
}
私は最初の前#include <iostream>
を挿入したいと思います#include
(もしあれば):このように、ファイルがなる:場合
// file1.cpp
#include <iostream>
#include <string>
#include <unordered_map>
void func() {
. . .
}
何らなどが含まれるがありません
// file1.cpp
void func() {
. . .
}
これはなります:
// file1.cpp
#include <iostream>
void func() {
. . .
}
ただし、ファイルが既に#include <iostream>
が含まれている場合は、別の#include <iostream>
の挿入は無視されるだろう。したがって、我々は、
// file1.cpp
#include <string>
#include <unordered_map>
#include <iostream>
void func() {
. . .
}
を持っている場合、それは同じまま、すなわち
// file1.cpp
#include <string>
#include <unordered_map>
#include <iostream>
void func() {
. . .
}
私の試み:
bash-3.00$ cat TRYIT
#!/bin/bash
echo \#include \<iostream\> > x$$
for i in `find . -type f -name "*.cpp"`
do
if ! grep -s "\#include \<iostream\>" "$i" > /dev/null; then
sed "/\#include/r x$$" "$i" > "$i".bak
mv "$i".bak "$i"
fi
done
rm x$$
しかし、これは私の要件ごとに動作しない、提案してください。
これを行うプログラムや、linuxコマンドを探すプログラムを書こうとしていますか?それが後者なら、どこかに一般的なLinuxの回答があるはずだから、それが本当に適切だとは思わない。 – NathanOliver
@NathanOliver上記のようなさまざまなシナリオを処理するbashシェルスクリプト –
@NathanOliver Linuxをどこから取得しているのかわかりません。 Solaris 10について具体的に質問しています。 –