Linuxシェルコマンドノートに記載されているシリアル番号を削除する方法[正規表現]

Linuxシェルコマンドノートに記載されているシリアル番号を削除する方法[正規表現]

前面に書かれている:フォームをエクスポートできることは知っていますが、フォームを取得したときはすでにこのようでした。戻って何百もの記事を確認するのは現実的ではありません。
つまり、
[1] A。ベンハメダ、S。Elosta、J。Havel実験計画法と人工ニューラルネットワークを使用したHuperzine A決定のためのキャピラリーゾーン電気泳動法の最適化[J]。ElsevierBV、2004,1084(1)。A。Ben Hameda 、S
へのバッチ変換
。 Elosta、J.Havel。実験計画法と人工ニューラルネットワークを使用したHuperzineA測定のためのキャピラリーゾーン電気泳動法の最適化[J]。ElsevierBV、2004,1084(1)。

最初に[1]…[999]を検索すると、次のコマンドが使用されます。

grep:行数のみを表示できます

  1. grep "[[0-9] {1、}]" x.txt
    search "[少なくとも1桁]"
  2. grep "[[0-9] {1,3}]" x.txt search "[ 1〜3
    桁]"
  3. grep "[[0-9] *]"
    *「[任意の番号]」を見つけるのが最も簡単です

カット:選択して出力

  1. cut -d ']' -f 2,3 x.txt >> y.txt
    ]を押して、次のコンテンツを分割してy.txtに抽出します。

次のコードは、list.txt内のすべてのタイトルをtitle.txtに抽出し、シリアル番号のない引用符をrmnum.txtに抽出します。

#!/bin/bash
#提取出list.txt中全部title
if [ -a "./list.txt" ];then
cut -d ']' -f 2,3 list.txt>>rmnum.txt
fi
if [ -a "./rmnum.txt" ];then
cut -d "." -f 2,3,4,5,6 rmnum.txt > title_mid.txt
fi
if [ -a "./title_mid.txt" ];then
cut -d "[" -f 1 title_mid.txt> title.txt
print "GOOD JOB!"
fi

変更後のコード
次のコードは、$ 1から$ 2のすべてのタイトルを抽出し、シリアル番号のない引用符をrmnum.txtに抽出します。

#!/bin/bash
#提取出全部title
if [ -a "./$1" ] ;then
cut -d ']' -f 2,3 $1 > rmnum.txt
fi
if [ -a "./rmnum.txt" ] ;then
cut -d "." -f 2,3,4,5,6 rmnum.txt > title_mid.txt
fi
if [ -a "./title_mid.txt" ] ;then
cut -d "[" -f 1 title_mid.txt> $2
echo "GOOD JOB!"
fi

スペースの最初の行を削除します
catx.txt | sed's / 1 * // g '>> y.txt

最後の行を削除します
catx.txt | sed's /[.]*$// g '>> y.txt

ケース
trを置き換える"[:upper:]" "[:lower:]" <x.txt> y.txt

重複をマージする
sort./x1.txt ./x2.txt | uniq -u> y.txt

——————————————————
多くの人の名前が追加されたため、上記あきらめました。これにより、人の名前とタイトルを区別するのが難しくなるので、
人の名前と一緒に記事:

#!/bin/bash
#提取出全部title

tr "[:upper:]" "[:lower:]" < $1 > $1.x
if [ -a "$1.x" ] ;then
cut -d ']' -f 2,3 $1.x > 1.x
cat 1.x | sed 's/^[ \t]*//g' > 2.x
cat 2.x | sed 's/[.]*$//g' > 3.x

sed -i '/^\s*$/d' 3.x

cut -d "[" -f 2 3.x | grep -o [12][890][0-9][0-9] > 4.x
cut -d "[" -f 1 3.x  > 5.x
paste 4.x 5.x > 6.x

sort 6.x | uniq -u >>all
sort 6.x | uniq -d >>all
sort all | uniq -u > allnew
sort all | uniq -d >> allnew
sort allnew | uniq -u > all
sort allnew | uniq -d >> all
echo "success"
fi

  1. \ t↩︎

おすすめ

転載: blog.csdn.net/mushroom234/article/details/109019450