最新記事

「sed」を使用してTSVファイルのフィールドの末尾にテキストを挿入する
text-processing
sed
bioinformatics

「sed」を使用してTSVファイルのフィールドの末尾にテキストを挿入する

sedワイルドカード式を含むコマンドを使用してTSVファイルに文字を挿入したいと思います。 次のファイルがあります。 Marker Pvalue Trait Chr Pos S3_16887238 6.172847e-09 Total_Soil_S 3 16887238 S3_16887238 6.172847e-09 Total_Soil_Pa 3 16887238 S3_16887238 6.172847e-09 Total_Soil_Cl 3 16887238 _All3番目の列のすべてのテキストの末尾に次の内容を追加したいと思います。 Marker Pvalue Trait Chr Pos S3_16887238 6.172847e-09 Total_Soil_S_All 3 16887238 S3_16887238 6.172847e-09 Total_Soil_Pa_All 3 16887238 S3_16887238 6.172847e-09 Total_Soil_Cl_All 3 16887238 このコマンドを使用していますが、動作しません。 sed -i 's/Total_Soil_\(.*\)/&_\1_All/g' top1.txt Sこれはサンプルファイルなので、およびをPa置き換えることができますCl。

Admin

後でテキストを処理するためにPDFリーダーが読み取ったテキストを文字列として保存できるツールを作成することは可能ですか?
linux
bash
text-processing
python
pdf

後でテキストを処理するためにPDFリーダーが読み取ったテキストを文字列として保存できるツールを作成することは可能ですか?

Linux Mintには、オペレーティングシステムと共にデフォルトでインストールされる「Xreader」というPDF読み取りツールがあります。 マウスの左ボタンクリックでテキストを選択すると、読み込んだテキストをBashまたはPython文字列に保存して、保存したテキストをBashおよび/またはPythonツールを使用して処理できるツールを作成できますか? Linux Mintには、そのようなことを達成するために使用できる「メカニズム」がありますか? 言う。 PDFリーダー(Xreaderなど)で開いたPDFから受け取ったテキストを処理できるPythonスクリプトを作成しようとしています。 PDFリーダーを介してPDFファイルを開きます。 マウスカーソルを使って興味のあるテキストを選択します。 テキストをインポートしたがすでに処理した結果、たとえば不要なスペースを削除して翻訳を行った場合 その結果、添付のグラフィックウィンドウにテキストがマッピングされます。

Admin

smbstatusの結果をシェルスクリプト変数にインポートする方法
bash
shell-script
text-processing
zsh

smbstatusの結果をシェルスクリプト変数にインポートする方法

smbstatusコマンドラインから実行すると、次の結果が表示されます。 ❯ smbstatus Samba version 4.17.3 PID Username Group Machine Protocol Version Encryption Signing ---------------------------------------------------------------------------------------------------------------------------------------- Service pid Machine Connected at Encryption Signing --------------------------------------------------------------------------------------------- No locked files ただし、次のスクリプトに同じ種類のコマンドを配置すると、次のようになります。 #!/usr/bin/bash SMB_STATUS="$(smbstatus)" echo "Result: $SMB_STATUS" 次のメッセージが表示されます。 No locked files Result: Samba version 4.17.3 PID Username Group Machine Protocol Version Encryption Signing ---------------------------------------------------------------------------------------------------------------------------------------- Service pid Machine Connected at Encryption Signing --------------------------------------------------------------------------------------------- 実際には「ロックファイルなし」行をフィルタリングしようとしていますが、バックグラウンドで2つのプロセスが実行されているように見えるため、シェルスクリプトではこれを実行できないようです。わかりません。私がここで見ていることをどのように説明するのかわかりません。

Admin

一部の行にスペースが含まれている場合は、リストで操作
text-processing

一部の行にスペースが含まれている場合は、リストで操作

findコマンドから除外するディレクトリのリストを作成しようとしています。残念ながら、これらのディレクトリの中にはスペースがあります。たとえば、myList2 番目のディレクトリが「bc」の 3 つのディレクトリのリストがあるとします。 /bin/bash myList="a \\ b c \\ d" 2行目を2つの別々のトークンに分割しないように「bash」を説得することはできません。 たとえば、このコードは dirList= stringArray=($myList) for i in "${stringArray[@]}" ; do dirList="$dirList -name $i -prune -o" echo "$dirList" echo " " done 次を返します。 -name a -prune -o -name a -prune -o -name b -prune -o -name a -prune -o -name b -prune -o -name c -prune -o -name a -prune -o -name b -prune -o -name c -prune -o -name d -prune -o しかし、私はそれを返したいです。 -name a -prune -o -name a -prune -o -name b c -prune -o -name a -prune -o -name b c -prune -o -name d -prune -o 空白を処理する明確な方法は、2行目を次のように定義することです。"b c" その後、入れ子になった二重引用符があります。私はネストされた引用符を処理する方法についてWebが提案するすべてを試しましたが、それらのどれもmではうまくいきませんでした。誰でもこれを行う方法を提案できますか?

Admin

sed正規表現は、パターンを含む段落全体をキャプチャできません。
text-processing
sed
regular-expression
xml

sed正規表現は、パターンを含む段落全体をキャプチャできません。

このXMLファイルがあります(例)。 私のLinuxディストリビューション(sed(GNU sed)4.2.2)に付属のインストールを使用して、次の正規sed表現を使用してこのファイルを検索します。 sed -En 'N;s/\<(This.*2020.*[\s\S\n]*?)\>/\1/gp' test2.txt ただし、次の文字列のみをキャプチャします。 私がここで何を間違っているのか?

Admin

ファイルを1行ずつマージ
text-processing
sed

ファイルを1行ずつマージ

10個のファイルがあり、各ファイルの最初の行、各ファイルの2番目の行などを1つの大きなファイルにコピーしたいと思います。 ファイル1.txtは A B C D ファイル2.txtは E F G H file3.txtは I J K L ありますように A E I B F J C G K .... ありがとう

Admin

文字列を一致させ、1行を前の行に移動します。
text-processing
awk
sed

文字列を一致させ、1行を前の行に移動します。

この情報が繰り返される大容量ファイルがあります。残念ながら、固定端末を使用してファイルをラップします。何でも一致させて172上の行に移動する必要があります。 wsmith 623456256 6-meg 172.16.15.198 pppoe 出力は次のようになります。 wsmith 623456256 6-meg 172.16.15.198 pppoe ファイルにフォーマットが正しくない他の行があるため、awkは使用できず、単に2行目を移動します。

Admin

Bashの文字列に一致する行の並べ替え
bash
shell-script
text-processing
sed

Bashの文字列に一致する行の並べ替え

前のコマンドの出力は次のとおりです。 foo 1 some-string P another-string bar 5 and-another-string P別の行を順番に維持しながら、前/後に1つ以上のスペースを含むすべての行を一番上に移動したいと思います。たとえば、次のようになります。 P another-string foo 1 some-string bar 5 and-another-string 行数が不明です。可能であれば、通常のbashまたはsed。

Admin

次の一致の前に、一致とすべての項目を抽出します。各一致に対してこれを行います。
text-processing
bioinformatics
pattern-matching

次の一致の前に、一致とすべての項目を抽出します。各一致に対してこれを行います。

次の構造のファイルがあります。 >Cluster 0 0 51aa, >MG00HS05:520:C8M1TACXX:3:1101:1428:2080/1... * 1 51aa, >MG00HS05:520:C8M1TACXX:3:1101:1658:2480/1... at 3:51:1:49/96.08% 2 51aa, >MG00HS05:520:C8M1TACXX:3:1101:15131:2756/1... at 1:51:1:51/100.00% [thousands of similarly looking lines] >Cluster 1 0 51aa, >MG00HS05:520:C8M1TACXX:3:1101:3733:2088/1... * 1 50aa, >MG00HS05:520:C8M1TACXX:3:1101:6962:2026/1... at 2:50:1:49/98.00% 2 51aa, >MG00HS05:520:C8M1TACXX:3:1101:14617:2071/1... at 2:51:1:50/96.08% [thousands of similarly looking lines] >Cluster 2 0 51aa, >MG00HS05:520:C8M1TACXX:3:1101:5164:2153/1... * 1 51aa, >MG00HS05:520:C8M1TACXX:3:1101:15660:20057/1... at 1:51:1:51/98.04% 2 51aa, >MG00HS05:520:C8M1TACXX:3:1101:8563:35493/1... at 1:50:1:51/96.08% [thousands of similarly looking lines] で始まる行数は>約200万減ります。 >次の行を抽出せずに開始する行とその後の行を抽出して>ファイルに入れたいと思います。このような: ファイル1: >Cluster 0 0 51aa, >MG00HS05:520:C8M1TACXX:3:1101:1428:2080/1... * 1 51aa, >MG00HS05:520:C8M1TACXX:3:1101:1658:2480/1... at 3:51:1:49/96.08% 2 51aa, >MG00HS05:520:C8M1TACXX:3:1101:15131:2756/1... at 1:51:1:51/100.00% [thousands of similarly looking lines] 文書2 >Cluster 1 0 51aa, >MG00HS05:520:C8M1TACXX:3:1101:3733:2088/1... * 1 50aa, >MG00HS05:520:C8M1TACXX:3:1101:6962:2026/1... at 2:50:1:49/98.00% 2 51aa, >MG00HS05:520:C8M1TACXX:3:1101:14617:2071/1... at 2:51:1:50/96.08% [thousands of similarly looking lines] ファイル_3 >Cluster 2 0 51aa, >MG00HS05:520:C8M1TACXX:3:1101:5164:2153/1... * 1 51aa, >MG00HS05:520:C8M1TACXX:3:1101:15660:20057/1... at 1:51:1:51/98.04% 2 51aa, >MG00HS05:520:C8M1TACXX:3:1101:8563:35493/1... at 1:50:1:51/96.08% [thousands of similarly looking lines] Bashでこれを行うようになっているスクリプトを作成しましたが、うまくいきませんでした。私はbashスクリプトの専門家ではありません。 mkdir FemaleMito1_clusters while read i do $i > FemaleMito1_clusters/FemaleMito1_${i#>} n=1 while [ `grep -A $n $i FemaleMito1_cdhit2 | tail -n1 | grep -c "^>"` -eq 0 ] do grep -A"$n" $i FemaleMito1_cdhit2 | tail -n1 >> FemaleMito1_clusters/FemaleMito1_"${i#>}" ((n++)) done done < FemaleMito1_cdhit2_list #this is a file containing just the lines starting with > どうすればいいですか?私のスクリプトを完全にスキップできます。私が望むことをする行があるかもしれません。 また、ファイルをフィルタリングし、特定の行番号の上にあるファイルのみを保持する必要があります。ファイルを生成した後簡単にできる方法を考えてみましたが、wc -l無駄なファイルを生成せずに命令に含めることができる方法があればいいようです。

Admin

「0」と最初の2つのフィールドを除くcsvファイルのすべてのテキストを1に変換するには?
text-processing
awk
command-line
bioinformatics

「0」と最初の2つのフィールドを除くcsvファイルのすべてのテキストを1に変換するには?

いくつかの大きな .csv ファイルがあり、このファイルをバイナリ (1 と 0) 形式に変換したいと思います。最初の2つのフィールドを除いて、テキストを含むすべてのセルは1になり、0は0のままです。 head Test.csv Iss1,1,0,0,Hsapiens-I34,0,0,0,Mmusculus-H01,0,0 Iss1,11,0,Scerevisiae-U09,Hsapiens-I05,0,0,0,0,0,0 Iss1,21,0,0,Hsapiens-I05,0,0,0,Hsapiens-I31,0,0 Iss1,31,0,0,Mmusculus-H13,0,0,0,0,0,Hsapiens-I31 Iss1,41,0,Scerevisiae-U09,0,0,0,0,0,0,Hsapiens-I21 Iss1,51,0,0,0,0,0,0,Scerevisiae-U25,0,Hsapiens-I21 Iss1,61,0,0,Hsapiens-I34,0,0,0,Mmusculus-H13,0,0 予想される結果は head Test.csv Iss1,1,0,0,1,0,0,0,1,0,0 Iss1,11,0,1,1,0,0,0,0,0,0 Iss1,21,0,0,1,0,0,0,1,0,0 Iss1,31,0,0,1,0,0,0,0,0,1 Iss1,41,0,1,0,0,0,0,0,0,1 Iss1,51,0,0,0,0,0,0,1,0,1 Iss1,61,0,0,1,0,0,0,1,0,0 ここで、ファイル内のすべてのテキストは1に変換されます。 誰もがこの問題を克服する方法についてアドバイスをすることができれば非常に感謝します。 ありがとう

Admin