私のディレクトリには5000のテキストファイルがあります。各テキストファイル名はプレフィックスで始まります。8月00日*(例 - OG0017774.log)
ファイル内にアスタリスク(*)を含む.logファイルを新しいディレクトリにコピーする必要があります。
文書内容 -
cat OG0017774.log
M0~b904dbe442e0eb658d229076cacb9ef6 M1~9edeedcb1f4f315c4689bacd8075222f 0.000035**
M0~b904dbe442e0eb658d229076cacb9ef6 M2~aeba83b564ee32e0ef1a8321c8d930f4 0.000671**
M0~b904dbe442e0eb658d229076cacb9ef6 M3~006a376da2fba16185ce424bf4cba983 0.000055**
M0~b904dbe442e0eb658d229076cacb9ef6 M4~e564dbfbbbe8d1f7d9d8c8e4da202943 0.000015**
M0~b904dbe442e0eb658d229076cacb9ef6 M5~2abe603e8fee2fcb08b7fb818957e0aa 0.000006**
ご提案いただきありがとうございます。
このコードを試してみると、現在のディレクトリ内のすべてのファイルが新しいディレクトリにコピーされます。
*を含むすべてのテキストファイルをコピーしたいです。
#!/bin/bash
KEYWORD_PATTERN='*'
find . -type f |
while read FNAME
do
if grep -Ew -q "$KEYWORD_PATTERN" $FNAME
then
KEYWORD=$(grep -Ew -o "$KEYWORD_PATTERN" $FNAME)
cp -r $FNAME keywords/$KEYWORD
fi
done
ベストアンサー1
このようなことがある場合はどうすればよいですか?
for i in OG00*; do
if grep -q -F '*' "$i"; then
mv "$i" ../keywords/
fi
done