タグ付けされた質問 「text-processing」

プログラム、スクリプトなどによるテキストの操作または検査


10
テキスト処理-2行ごとにコンマで結合します
ファイルに1000行以上あります。ファイルは次のように始まります(行番号が追加されます): Station Name Station Code A N DEV NAGAR ACND ABHAIPUR AHA ABOHAR ABS ABU ROAD ABR これをファイルに変換する必要があります。2行ごとに結合して、コンマ区切りのエントリにします。最終的なデータは次のようになります Station Name,Station Code A N DEV NAGAR,ACND ABHAIPUR,AHA ABOHAR,ABS ABU ROAD,ABR ... 私がやろうとしていたのは、シェルスクリプトを記述してから、echoそれらの間にカンマを入れようとすることでした。しかし、よりシンプルで効果的なワンライナーがsed/にあるかもしれませんawk。 何か案は?

8
ログを下から上に見て
Linuxコマンド、またはログを上から下ではなく下から見る方法がありますか?について知ってtail -n <number of lines>いますが、実際にスクロールして下から上に移動できるものはありますか?


4
ファイルの最後で改行文字を削除するにはどうすればよいですか?
改行文字について明確にしましょう: $ echo Hello > file1 ; cat file1 Hello $ echo -n Hello > file2 ; cat file2 Hello$ ここfile1では、末尾に改行文字があり、そうでfile2はないことがわかります。 今私が持っていると仮定しますfile: $ cat file Hello Welcome to Unix $ そしてand Linux、ファイルの最後に追加したいのでecho " and Linux" >> file、改行に追加されます。しかし、最後の行はUnix and Linux したがって、回避するには、ファイルの最後にある改行文字を削除します。したがって、ファイルの最後にある改行文字を削除するにはどうすればよいですか?

1
Vim:XMLテキストを「きれい」にする
viXMLテキストを「きれい」にする簡単な方法はありますか? 例えば: これ欲しい.. <person> <name>Nick</name> <age>26</age> <gender>male</gender> <occupation>doctor</occupation> </person> これになるために... <person> <name>Nick</name> <age>26</age> <gender>male</gender> <occupation>doctor</occupation> </person>

3
2つの列の一致に基づいて2つのファイルをマージする方法は?
私はfile1が好きです: 0 AFFX-SNP-000541 NA 0 AFFX-SNP-002255 NA 1 rs12103 0.6401 1 rs12103_1247494 0.696 1 rs12142199 0.7672 そしてfile2: 0 AFFX-SNP-000541 1 0 AFFX-SNP-002255 1 1 rs12103 0.5596 1 rs12103_1247494 0.5581 1 rs12142199 0.4931 そして、次のようなfile3が必要です: 0 AFFX-SNP-000541 NA 1 0 AFFX-SNP-002255 NA 1 1 rs12103 0.6401 0.5596 1 rs12103_1247494 0.696 0.5581 1 …

4
ファイルの最初のnバイトを削除します
私には極端な問題があり、想像できるすべての解決策は複雑です。私のUNIX / Linuxの経験によると、簡単な方法が必要です。 の各ファイルの最初の31バイトを削除したい/foo/。各ファイルは十分な長さです。まあ、誰かが私に想像を絶する驚くほど簡単な解決策を提供してくれると確信しています。たぶんawk?

3
最後から数えてテキスト行からフィールドを切り取る(選択する)方法は?
cutコマンドを使用して行からフィールドを選択する方法を知っています。たとえば、次のデータが与えられた場合: a,b,c,d,e f,g,h,i,j k,l,m,n,o このコマンド: cut -d, -f2 # returns the second field of the input line 戻り値: b g l 私の質問:最後から数えて2番目のフィールドを選択するにはどうすればよいですか?前の例では、結果は次のようになります。 d i n

2
CSVファイルに列をドロップするコマンドラインスペルはありますか?
次の内容のファイルがある: 1111,2222,3333,4444 aaaa,bbbb,cccc,dddd 私は元のファイルに等しいが、n = 2(または3かもしれません)のようなn番目の列が欠けているファイルを取得しようとします 1111,2222,4444 aaaa,bbbb,dddd または、n = 0の場合(または1の場合もあります) 2222,3333,4444 bbbb,cccc,dddd 実際のファイルは、数万列のギガバイト長になることがあります。 そのような場合はいつもそうですが、コマンドラインの魔術師はエレガントなソリューションを提供できると思います... :-) 実際の実際のケースでは、最初の列を2回ドロップする必要があります。これは、最初の列をシーケンスで2回ドロップすることで実行できますが、少し一般化する方が面白いと思います。

3
テキストファイルで一致しないかっこを見つける方法
今日、私は、perl -c filenamePerlスクリプトではなく、任意のファイルで一致しない中括弧{}を見つけるために使用できることを学びました。問題は、他の種類の括弧()[]および多分<>では機能しないことです。また、私はいくつかのVimプラグインで実験を行いましたが、これは比類のないブラケットを見つけるのに役立つと主張していますが、これまでのところあまり良くありません。 かなりの数のブラケットを含むテキストファイルがあり、そのうちの1つが欠落しています!一致しないブラケットを特定するのに役立つプログラム/スクリプト/ vimプラグインなどはありますか?

10
パターン(マーカー)の前にファイルのコンテンツを別のファイルに挿入する方法は?
File1 内容: line1-file1 "1" line2-file1 "2" line3-file1 "3" line4-file1 "4" File2 内容: line1-file2 "25" line2-file2 "24" Pointer-file2 "23" line4-file2 "22" line5-file2 "21" perl / shellスクリプトの実行後、File2コンテンツは次のようになります。 line1-file2 "25" line2-file2 "24" line1-file1 "1" line2-file1 "2" line3-file1 "3" line4-file1 "4" Pointer-file2 "23" line4-file2 "22" line5-file2 "21" すなわち、「ポインタ」を含む行の前にFile1in の内容を貼り付けFile2ます。


5
特定の列の内容をawkに置き換える方法は?
指定:レコードには40列あります。35番目の列が35番目の列の内容と「$」記号で置き換えられるように、35番目の列を置き換えます。思いついたのは次のようなものです: awk '{print $1" "$2" "...$35"$ "$36...$40}' 動作しますが、列の数が10kほど大きい場合は実行できないためです。これを行うためのより良い方法が必要です。

2
テキストファイル内の単語の出現回数を数える
ツイートを含むテキストファイルがあり、ツイートで単語が言及された回数をカウントする必要があります。たとえば、ファイルには次のものが含まれます。 Apple iPhone X is going to worth a fortune The iPhone X is Apple's latest flagship iPhone. How will it pit against it's competitors? そして、ファイル内でiPhoneという単語が何回言及されているかを数えたいとします。だからここに私が試したものがあります。 cut -f 1 Tweet_Data | grep -i "iPhone" | wc -l 確かに機能しますが、私はunixの 'wc'コマンドについて混乱しています。私は次のようなものを試してみると違いは何ですか: cut -f 1 Tweet_Data | grep -c "iPhone" 代わりに-cが使用されますか?これらの両方は、ツイートでいっぱいの大きなファイルで異なる結果をもたらし、私はそれがどのように機能するかについて混乱しています。発生をカウントする正しい方法はどれですか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.