最新記事

ファイルの各行の末尾に特定のテキストを追加するには?
linux
files
string
text

ファイルの各行の末尾に特定のテキストを追加するには?

というファイルがありますmy_file.txt。その内容は次のとおりです。 7rrmC 7rztC 7s63D 7scfA 7sciA 7seuA 7sh3B 7shgA 7sj9N 7sp5A 7sr2B 7stdC 7sv6A 7sybA 7t2yB 7t30B 7t3bE 7t4rA 7t71A 7t8wD 7tacA 7tbsA 7tfmA 7thhA 7tlx1 7tmvB 7trwA 7txmA 7ughB 7v6dA 7v6iA 7vdvA 7vgmA 7vi7B 7vw1A 7w2vA 7w5vA 7wkkj 7x0dA 7xayA .ent.gz各行の末尾に文字列を追加したいと思います。 どのLinuxコマンドでこれを実行できますか?

Admin

debugfs catを使用して古いファイルデータを読み取る
files
filesystems
inode
debugfs

debugfs catを使用して古いファイルデータを読み取る

inodeを使用してファイルの内容を読み取ろうとします。 これはうまくいきます: echo "First line" > data.txt sync sudo debugfs -R "cat <$(stat -c %i data.txt)>" /dev/sda3 debugfs はファイルの内容が「最初の行」であることを伝えます。コマンドのこの部分はdata.txtのinode番号を取得します$(stat -c %i data.txt)。 2行目を追加すると問題が発生します。 echo "Second line" >> data.txt sync sudo debugfs -R "cat <$(stat -c %i data.txt)>" /dev/sda3 私はまだdebugfsから「最初の行」だけを取得します。行を追加したり、やり直したり、数日後にやり直しても、syncこれは変わりません。 debugfsがファイルの残りの部分を表示しないのはなぜですか?私はdebugfsを間違った方法で使用していますか? 他のファイルを使用すると、この動作を確実に再現できます。 echo "New content" > data.txt既存のファイルコンテンツの上書きを使用すると、debugfsが新しいコンテンツを表示することがわかりました。ただし、上記のように2行目を追加すると、1行目のみが表示されます。 私はArch Linux 5.12.3でdebugfs 1.46.2を使用しています。ファイルシステムは/dev/sda3ext4です。呼び出しのdebugfs -R "stat ..."結果は次のとおりです。疑わしくない結果です。 Inode: 16515371 Type: regular Mode: 0644 Flags: 0x80000 Generation: 3923658711 Version: 0x00000000:00000001 User: 1000 Group: 1000 Project: 0 Size: 34 File ACL: 0 Links: 1 Blockcount: 8 Fragment: Address: 0 Number: 0 Size: 0 ctime: 0x60b639e5:71315fa0 -- Tue Jun 1 15:45:09 2021 atime: 0x60b63988:b7c456cc -- Tue Jun 1 15:43:36 2021 mtime: 0x60b639e5:71315fa0 -- Tue Jun 1 15:45:09 2021 crtime: 0x60b63988:b7c456cc -- Tue Jun 1 15:43:36 2021 Size of extra inode fields: 32 Inode checksum: 0xbfa4390e EXTENTS: (0):66095479

Admin

大きなCSVをチャンクに分割するコマンド - 改行を使用する
files
csv
split

大きなCSVをチャンクに分割するコマンド - 改行を使用する

私はこのコマンドを使って大きなCSVファイルを小さな塊に分割しますsplit。各ファイルには以下を含める必要があります。たった1000行。 私が使用するコマンドは cat large.csv | split -a3 -l1000 --filter='gzip > $FILE.gz' - small.csv_ うまくいきますが、問題はCSVに改行文字があり、行1000から出るとすべてが中断されることです。 たとえば、 Row no 1000: 1001 | my_first_name | my_last_name | Address: 2001,appartment my_city | my_country | pin-610156 4列には改行文字があり、2行を占めます。分割コマンドは、1000行が終了し、次の行が新しいファイルAddress: 2001,appartmentに移動すると仮定します。これにより、2つのファイルが破損します。 1000行のファイル - 残りの列なし(ファイル:10と仮定) 次のファイル(ファイル11)my_city- 最初の4つの列はここで始まりません。 このファイルをデータベースにロードすると問題があります。 この問題を解決する方法や回避策はありますか?

Admin

ソフトシンボリックリンクを「適用」する方法
shell
files
symlink

ソフトシンボリックリンクを「適用」する方法

ソフトシンボリックリンクを「適用」するコマンドはありますか? シンボリックリンクを削除し、シンボリックリンクが指す場所をコピーして、以前のシンボリックリンクがあった場所に配置するのと同じです。 これを行うためのプログラムやエイリアスを作成できますが、それを行うための組み込みコマンドがあるようです。

Admin

パターンを含むファイルを一定回数移動します。
files
file-copy

パターンを含むファイルを一定回数移動します。

(拡張子を含む)ファイルがたくさんあります.fna。文字が含まれている場合は移動する必要があります。>特定の回数。 どのファイルが含まれているかを知っています。>このコマンドを特定の回数だけ使用してください(この例では9回)。 grep -c ">" *.fna | grep ":9" これは次のような出力を提供します 5242_ref.fna:9 9418_ref.fna:9 しかし、このファイルを別のフォルダに移動する方法がわかりません。 ありがとうございます。

Admin

再帰的なchmodまたはchownの後のGUIにファイルがありません
files
filesystems
gui
chmod
chown

再帰的なchmodまたはchownの後のGUIにファイルがありません

リムーバブルハードドライブ上のすべてのファイルの権限を設定しようとしています。ディスクアドレス(たとえば/ dev / sdb)chownでその操作を試みましたが、chmodまだユーザーとしてファイルを移動できませんでした。その後、ディスク上のすべてのファイルの権限と所有権を再帰的に設定してみました。 sudo chmod -R 666 /media/jdh/b041de7c-7698-44ae-a387-482ab9e60201/ そして sudo chown -R jdh /media/jdh/b041de7c-7698-44ae-a387-482ab9e60201/ その後、GUIをチェックすると、どのディレクトリにもファイルが含まれておらず、すべてのファイルのサイズが0バイトであることがわかりました。実行を確認したところ、lsすべてのファイルが存在し、適切なサイズであることが確認されました。 リムーバブルディスクがどのようにフォーマットされるのかわかりません。 どうしたの? GUIにファイルを再表示するにはどうすればよいですか?

Admin

`cp --no-clobber`は競合状態に脆弱ですか?
linux
shell
files
security
cp

`cp --no-clobber`は競合状態に脆弱ですか?

マニュアルページcp(1)説明する --no-clobber既存のファイルを上書きしないでください ところで、以下のような状況が可能でしょうか? cpファイルがすでに存在しないとし、ファイルが存在することを確認します。 他のプロセスが同じパスに書き込むため、以前は存在しなかったファイルにデータが書き込まれます。 cp現在のファイルが存在するかどうかわからないため、データを上書きします。 cp --no-clobberこの競争条件に脆弱ですか?そうでなければ、cp上記の状況を避ける方法は何ですか?

Admin

特別なresolv.confを使用するようにプログラムに指示する
files
filesystems
process
chroot
resolv.conf

特別なresolv.confを使用するようにプログラムに指示する

/etc/resolv.confプログラムが特別なファイルを使用するようにだまされ、非標準のネームサーバーを使用するようにしたいと思います。 確実な解決策は、1つのファイルを除くファイルシステム全体を再作成し、chrootを使用することです。しかし、おそらくこれを行うより簡単な方法があります。 特定のプロセスに対してのみファイルの内容を変更するにはどうすればよいですか?多くの場合、動作しますが動作しないソリューションを提供します/etc/resolv.conf。LD_PRELOADlibc内のパーサーが開かれたときにそれを捕捉できず、/etc/resolv.confバインドマウントはシンボリックリンクを上書きできません(リンク先がないか、後でリンクが変更された場合)。 編集:関連する質問は壊れたシンボリックリンクにファイルをインストールする方法は?一般的な解決策が見つかりません

Admin

メディアファイルを保持しながら、メディアサーバーをWindows 10からUbuntuに移行する最善の方法は何ですか?
ubuntu
files

メディアファイルを保持しながら、メディアサーバーをWindows 10からUbuntuに移行する最善の方法は何ですか?

現在、ローカルからファイルをインポートするSSDブートドライブで実行されているPlexを実行しているWindows 10コンピュータがあります。ドライブプール8TBドライブ3つで構成されています。このドライブは現在ほとんどいっぱいで、ちょうど同じドライブをもう2つ購入しました。 私はこの新しいドライブをインストールするときにLinuxに切り替え、主に利点を活用したいと思います。この取扱説明書。 Linuxに切り替えた後、Runbookまたは手動設定ですべてを手動で再構築できるので、SSDのすべてを失うことを嬉しく思います。一方、ドライブプールにはメディアファイルのバックアップオプションはありません。 この状況でLinuxに移行するための最良の方法は何ですか?オンラインでmergefsとzfsを見たことがありますが、データを失うことなく設定する方法がわかりません。

Admin

従業員の一級と時給を計算するawkコマンドまたはスクリプト
linux
awk
files

従業員の一級と時給を計算するawkコマンドまたはスクリプト

複数の従業員を含むテキストファイルがあります。テキストファイルはこのスキームに従います。 寺名部門 20.00 毎日の賃金を計算するには、変数付きのawkコマンドが必要です。また、各フィールドをタブとドル記号で区切って、1時間あたりの毎日のレートと/ hrと/日の末尾のテキストを表示する必要があります。例えば 従業員名部門 $20.00/時間 $160/日 従業員名部門 $50.00/時間 $400/日 従業員名部門 $200.00/時間 $1600/日 また、すべての労働者の1時間あたりの賃金を合計して表示し、「労働者は1時間あたり合計889ドル(または総額)を稼ぐ」というテキストを表示する必要があります。 私は初めてawkに触れて、インターネット検索を試しましたが、どこから始めるべきかわかりません。

Admin