Unix & Linux

Linux、FreeBSDおよび他のUn * xのようなオペレーティングシステムのユーザーのためのQ&A

5
行末にある「-」で区切られた1つ以上のフィールドを削除します
データgoogleapis.txtを解析します bucket,abc-def-ghi-45gjd4-wwxis bucket,dde-wwq-ooi-66ciow-po22q instance,jkl-mno-1-zzz-68dkakw-oo9w8 disk,pqr-stu-10-kuy-l2oxapw-rp4lt 以下のような結果を期待しています bucket,abc-def-ghi bucket,dde-wwq-ooi instance,jkl-mno-1-zzz disk,pqr-stu-10-kuy -スペースに変更してからこのコマンドを実行する必要があると思います cat googleapis.txt | awk '{$NF="";sub(/[ \t]+$/,"")}1' | awk '{$NF="";sub(/[ \t]+$/,"")}1' 私はこれからそれを取得しましたhttps://stackoverflow.com/a/27794421/8162936 解析後、スペースをハイペン-バックに変更します。 誰かがそれを解析するためのベストプラクティスまたはワンライナーシェルコマンドを知っていますか?皆さんありがとう

5
別のフォルダーに同じサブフォルダーを作成する
私はディレクトリ持っているfooサブディレクトリとします。コンテンツをコピーせずに、同じサブディレクトリ名を別のディレクトリに作成したい。どうすればよいですか? lsブレース展開リストとして出力を取得する方法はありますか?
8 mkdir 

5
すべての列にNAを含む行を削除する
次のようなタブ区切りファイルがあります。 gene v1 v2 v3 v4 g1 NA NA NA NA g2 NA NA 2 3 g3 NA NA NA NA g4 1 2 3 2 各行のフィールド数は固定され、同じです。列2から最後までのすべての行のすべてのフィールドがNAである上記のファイルからそれらの行を削除します。次に、出力は次のようになります。 gene v1 v2 v3 v4 g2 NA NA 2 3 g4 1 2 3 2

1
$できます!並列実行されているスクリプトで使用すると競合状態が発生しますか?
次のようなコードで、並行して実行される複数のbashスクリプトがあるとします。 #!/bin/bash tail -f /dev/null & echo "pid is "$! そのスクリプトの$!最新のバックグラウンドタスクのPIDを取得することが保証されていますか、それともグローバルな最新のバックグラウンドタスクですか?この機能に依存すると、PIDが別のスクリプトで開始されたプロセスからのPIDである場合に競合状態が発生する可能性があるかどうか、私は興味があります。

7
引用符付きのbash awkコマンド
私はしばらくの間、この質問に対する答えを見つけようと努めてきました。awkからの出力に基づいてコマンドを実行する簡単なスクリプトを書いています。 ID_minimum=1000 for f in /etc/passwd; do awk -F: -vID=$ID_minimum '$3>=1000 && $1!="nfsnobody" { print "xfs_quota -x -c 'limit bsoft=5g bhard=6g $1' /home "}' $f; done 問題は、-c引数が単一引用符で囲まれたコマンドを取り、それを適切にエスケープする方法を理解できず$1、ユーザー名に展開されないことです。 基本的に私はそれを出力させようとしているだけです: xfs_quota -x -c 'limit bsoft=5g bhard=6g userone' /home xfs_quota -x -c 'limit bsoft=5g bhard=6g usertwo' /home 等...
8 bash  shell  scripting 

7
コロンの前にコンテンツを取得する
Linuxにテキストファイルがあり、内容は次のようになっています。 help.helloworld.com:latest.world.com dev.helloworld.com:latest.world.com 以下のようにコロンの前の内容を取得したい: help.helloworld.com dev.helloworld.com どうすればターミナル内でそれを行うことができますか?

2
データの場合のみファイルを上書き
コマンド出力でファイルを上書きしようとしていますが、出力がある場合のみです。つまり、私はたいてい mycommand > myfile しかし、これがmyfile空のデータで上書きされる場合は、古いバージョンのを保持したいと思いmyfileます。私は何かをifne使うことが可能であるべきだと思いました、ラ mycommand | ifne (cat > myfile) しかし、それはうまくいきません... 間接的なアプローチ mycommand | tee mytempfile | ifne mv mytempfile myfile 動作しますが、その一時ファイルの使用は不適切だと考えています。 Q:最初のアイデアが機能しないのはなぜですか?仕事にできますか?または、私の元の問題に対して別の素晴らしい、おそらく完全に異なる解決策がありますか?
8 bash 


3
フォルダーのファイルの17行目(またはそれ以下の場合は最後)を監視するにはどうすればよいですか?
私は現在使用しています watch head -n 17 * 動作しますが、17日までのすべての行も表示されます。基本的に、現在のアプローチで表示される各ファイルの最後の行のみを表示します。どうすればそれを達成できますか? 例 例として、行nrを減らします。7.に。 ファイルの例: 1 2 3 4 5 6 7 8 この行: watch head -n 7 * 出力 1 2 3 4 5 6 7 私が欲しいところ: 7
8 bash  head  watch 

4
1日の特定の時間にカウントダウンタイマーを表示するにはどうすればよいですか?
私は教師をしています。私のレッスンには、Orageの時間指定イベントで通知され、通知に送信される特定のルーチンがあります。例えば: 掃除 椅子を立てる 生徒たちは、イベントまでの残り時間を警告するために、画面にカウントダウン時計を置くように要求しました。私はXFceを使用しているので、これは画面上部のパネルに表示されるか、全画面アイテムで覆われることはありません。 例えば: 3:10クリーンアップまで。 6:10授業終了まで。 これらは手動でアクティブ化されるカウントダウンではありませんが、毎日特定の時間に発生します。たとえば、10分のカウントダウンは午後3時に始まり、午後3時10分にゼロで終わります。を使用orageしてスクリプトをアクティブ化できますが、カウンターと情報を表示する方法が必要です。 このようなカウントダウンタイマーを画面に表示する方法はありますか?



6
フォルダーと同じ名前のファイルを含むフォルダーのみを検索します
同じ名前(および拡張子.md)のマークダウンファイルを含むすべてのサブフォルダーを検索します。 例:次のサブフォルダーを検索したい: Apple/Banana/Orange #Apple/Banana/Orange/Orange.md exists Apple/Banana #Apple/Banana/Banana.md exists Apple/Banana/Papaya #Apple/Banana/Papaya/Papaya.md exists 注:ディレクトリには他のファイルまたはサブディレクトリが存在する場合があります。 助言がありますか? この問題の解決策は、次のコードを使用してテストできます。 #!/usr/bin/env bash # - goal: "Test" # - author: Nikhil Agarwal # - date: Wednesday, August 07, 2019 # - status: P T' (P: Prototyping, T: Tested) # - usage: ./Test.sh # - include: # 1. …

5
$()のコマンドによって出力された{1,2}が補間されないのはなぜですか?
2つのテキストファイルがあるディレクトリにいます。 $ touch test1.txt $ touch test2.txt いくつかのパターンを使用して(Bashで)ファイルを一覧表示しようとすると、機能します。 $ ls test?.txt test1.txt test2.txt $ ls test{1,2}.txt test1.txt test2.txt ただし、パターンがで囲まれたコマンドによって生成される場合、パターンの$()1つだけが機能します。 $ ls $(echo 'test?.txt') test1.txt test2.txt $ ls $(echo 'test{1,2}.txt') ls: cannot access test{1,2}.txt: No such file or directory 何が起きてる?なぜパターン{1,2}が機能しないのですか?

2
Yumはチェック更新に失敗しました
今朝からyum、Centos 7.6でパッケージの更新を確認するときにエラーが発生します。私が走ると: $ sudo yum clean all && sudo yum check-update Loaded plugins: fastestmirror, product-id, search-disabled-repos, subscription-manager This system is not registered with an entitlement server. You can use subscription-manager to register. Cleaning repos: base epel extras google-cloud-compute google-cloud-sdk updates Cleaning up list of fastest mirrors Other repos take up …
8 centos  yum 

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