タグ付けされた質問 「bash」

Bashは、GNUプロジェクトのUnixライクなオペレーティングシステム用の無料のシェルです。

1
FFMpegでは、フィルターグラフはデフォルトでオーディオストリームをコピーしますか?
FFMpegには次のコマンドがあります。 ffmpeg -i file_input.mp4 -filter_complex split=2[i1][i2];[i1]scale=trunc(oh*a/2)*2:480[o1];[i2]scale=trunc(oh*a/2)*2:640[o2] -map [o1] -map 0:a -pix_fmt yuv420p -vcodec libx264 file_out_1.mp4 -map [o2] -map 0:a -pix_fmt yuv420p -vcodec libx264 file_out_2.mp4 このコマンドは、基本的にソースファイルを2つに分割し、ビデオを2つの異なる形式にスケーリングし、x264コーデックを使用してビデオストリームを再エンコードします。ここまでは順調ですね。 -map 0:aフラグに注意してください。2つのストリームのいずれかからこれを削除すると、結果の出力ファイルにはオーディオがまったく含まれなくなります。これは、scaleフィルターが花束から音声を自動的に削除するのか、それとも別のものなのかと疑問に思います。 コマンドをこれにわずかに変更し、結果の[o1]または[o2]からオーディオストリームをフェッチしようとしても、音が聞こえません。 ffmpeg -i eFront_sample.mp4 -filter_complex split=2[i1][i2];[i1]scale=trunc(oh*a/2)*2:480[o1];[i2]scale=trunc(oh*a/2)*2:640[o2] -map [o1]:a -pix_fmt yuv420p -vcodec libx264 file_out_1.mp4 -map [o2]:a -pix_fmt yuv420p -vcodec libx264 file_out_2.mp4 ここで何が欠けていますか? 前もって感謝します。

2
ファイル名とファイル名をすべて[a-yA-Y]に置き換えて、findからtxtファイルを作成する方法
私はこれを行うためにUNIXのワンライナーを頼みたい これでファイル名は取得できます find . -type f > filenames.txtが、次のようなテキストファイルを取得したいと思います。 filename;filenamekey ./fn123456789X-5.txt;./123456789X5. 2番目のフィールドは、すべての文字([a-yA-Y]以外の数字)で置き換えられたファイル名である必要があります。理由は、このフィールドがISBN(0-9およびXで構成される)で構成されているためです。 次に、このようにfilenamekeyで検索します Select filename from books where filenamekey like '%123456789X%'; ファイル名には、ISBNである必要はありませんが、可能です。ISBNがない場合、キーは空またはジャンクにする必要があります。 私はこれを試しました: find . -type f > filenames1.txt cat filename1.txt | sed -e 's/[^0-9X\/\.]//g' > filenamekey1.txt paste filename1.txt filenamekey1.txt | awk '{print $1,$2}' 洗練されたワンライナーはありますか? どうもありがとう!

0
Debianでスタートアップサービスを強制終了するための開始および停止アクションはサポートされなくなりました
サービスを停止したかったので、常にコマンドを使用しましたupdate-rc.d exim4 stop(つまり、停止したい場合exim4)。今、私はこのメッセージを受け取ります: update-rc.d:警告:開始および停止アクションはサポートされなくなりました。/usr/sbin/update-rc.d行390の文字列eqでの初期化されていない値の使用。 4 5)update-rc.d:警告:ランレベル引数の停止(なし)がexim4 Default-Stop値(0 1 6)と一致しない だから、それはコマンドがもう利用できないことを意味しますか?どうすれば適切に解決できますか?前もって感謝します。
linux  bash  debian 

1
Mac OS Xのシェルプロンプトの色
OS X Lionで色を追加してシェルプロンプトをカスタマイズしようとしているので、.bashrcを編集しましたが、ルートアカウントの違いしか見ることができません。したがって、.bashrcを編集した後: PS1="[\u][\w] :" そして、私が得るターミナルを実行します Phil:~ phil$ sudo -s [root][~] : しかし、ルートアカウントの違いのみが表示されます。どうすれば修正できますか? 表示したい: [Phil][~] : sudo -s [root][~] :

2
FreeBSDの `ls -R`コマンドからディレクトリを除外する
FreeBSD 9.2のディレクトリにすべてのファイルを一覧表示したいのですが、特定のディレクトリを含めたくありません。の両方-Iと--ignoreパラメータをチェックしましたがls、Iスーパーユーザーモードのみを無視し、--ignoreサポートされていません。 誰かがls別のコマンド(などgrep)を使用してそれを使用する方法を知っていますか?

1
MAC OS Xのtouch -dの代替
フォルダー内のすべてのファイルの変更時間を1時間前に変更する必要があります(一部のソフトウェアでの夏時間の問題) 事はそれです touch -m -r {} -d '-1 hour' MAC OS Xでは機能しません 私が使用できる素敵なトリックはありますか?
macos  bash 

1
lprを使用して、パスにスペースが含まれるファイルを印刷する
だから私の道: /Users/work/Desktop/My Folder/My File.txt マイフォルダーとマイファイルにはスペースがあります。もちろん、ターミナルでは、オートコンプリートのためにタブを押すとそれが行われます/Users/work/Desktop/My\ Folder/My\ File.txt。 私の問題は、Pythonでそのようなパスを使用するときです: from subprocess import Popen def print_rc(file): with open(file, 'r') as infile: p = Popen(["lpr -o page-ranges=1-2"], stdin=infile) output = p.communicate()[0] エラーがno such file or directory表示されます。私がするときos.path.exists('/Users/work/Desktop/My Folder/My File.txt')、それは判明しますTrue。だから問題はスペースに関係していると思う。 Python文字列をbashが理解できるものに変換するには、何をする必要がありますか?
bash  python  lpr 

0
linux bash / terminal emulator:キー「q」が機能しない
私はDebian、Xfceデスクトップ環境にいます。 「q」キーを押すと、ターミナルエミュレータ画面/ bashの標準出力に出力がありません。大文字の「Q」が機能します。vimでは、「q」は他のすべての文字と同様に機能します... 「q」を動作させる方法は?
bash  debian  xfce 

3
sshを介してスクリプトを実行中に変数を保持する方法
私はsshを介して読み取り中にwhileループを実行しようとしています: #!/bin/bash ssh root@10.10.10.10 "cat /var/log/syncer/rm_filesystem.log | while read path; do stat -c \"%Y %n\" "$path" >> /tmp/fs_10.10.10.10.log done" しかし、問題は、リモートホスト上のファイルを読み取り、「rm_filesystem.log」にリストされているすべてのフォルダ/ファイルの統計を取得できるように、リモートホストで解決するために変数$ pathがローカルホストで解決していることです

2
/ home / user1 / fooから〜/ fooを取得する方法は?
Bashプロンプトは\wエスケープシーケンスをサポートしています。 \w the current working directory, with $HOME abbreviated with a tilde (uses the value of the PROMPT_DIRTRIM variable) 任意の文字列に対して同様の略語を取得する方法はありますか?つまり、HOME = / home / user1の場合、次のようなことを行う一般的なコマンドはありますか /home/user1 → ~ /home/user1/a/1 → ~/a/1 /home/user2/b/2 → ~user2/b/2 /root → ~root 確かに、sedでsomethingいことを試すこともできますが、いずれにしても、私が望む結果が得られる可能性は低いです。:-) この背後にある動機は、端末のタブのタイトルをできるだけ短くしたいということです。したがって、可能な場合は作業ディレクトリを省略します。 更新:満足のいく解決策が簡単に入手できるとは思えないので、物事を十分に高速に保ちたいので、今は簡単な pwd | sed -e "s|/root|~root|" -e "s|/home/user1|~| そしてルートのために似たようなもの。私はマシン上の唯一のユーザーであるため、これは現在多かれ少なかれ機能しています。誰かがmagical-tool-that-solves-all-problems思い付く場合に備えて質問を公開しておきます(elispで書かれていないことが理想的です...)。

1
csvファイルへのbashフォーマット
csvファイルに書きたいものをwhileループでbash ldapsearchしています。ldapリストは次のようになります。 ou=..,dc=.. data1 out=..,dc=.. data2 私の目標は、csvファイルの次の形式です。 ou=..,dc=..,data1 ou=..,dc=..,data2 問題はtr '\ n' 'にあり、そこで改行を変更しますが、ループのためにどこでも変更され、これが発生します: ou=..,dc=..,data1,ou=..,dc=..,data2, データの前にのみ改行を置き換えるにはどうすればよいですか?
bash 

1
このshスクリプトの問題?
このshスクリプトの実行に問題があります...私はそれについて何も問題がないと思います。 echo "**************************************" echo "*** ***" echo "*** Updated Please Read ***" echo "*** ***" echo "**************************************" sleep 3 echo "Will updating this OS cause any issues with a control panel? [y|n]" echo " Answer No for Cpanel, Direct Admin, Webmin, Plesk, VZ." # CP = 'n' # read CP …
linux  bash  sh 

1
bashで並列パイプをリダイレクトする方法は?
これは機能しません: $ head file | tee >(sort >&3) | paste <(cat <&3) - bash: 3: Bad file descriptor しかし、私はそれが何を意図しているのか明白であることを願っています: $ head file | sort >temp1 $ head file >temp2 $ paste temp1 temp2 その並列パイプを作成して使用する適切な方法は何ですか? (「ヘッド」は高価な操作を表し、デッドロックの危険性を認識しています。)
bash 

1
sedの単一引用符のバックスラッシュエスケープはエラーを生成します
意図はHEAD、従来のHTML WebサイトのGoogleタグコードの直後に挿入することです。 #!/bin/bash find . -type f -iname "*.php" -or -iname "*.htm" -or -iname "*.html" | while read i; do echo "Processing: $i" sed -i 's*<HEAD>*&\ <!-- Global site tag (gtag.js) - Google Analytics -->\ <script async src="https://www.googletagmanager.com/gtag/js?id=UA-1234567-2"></script>\ <script>\ window.dataLayer = window.dataLayer || [];\ function gtag(){dataLayer.push(arguments);}\ gtag('js', new Date());\ \ …

1
`svn status -uq`の出力にはスクリプトに改行がありません
function runstatus { echo "SVN Status -uq:" echo status=$(svn status -uq) echo $status echo $bigline } これは次のようなものを出力します: SVNステータス-uq: rd_backup rd_backup.sh update 764 updateリビジョンに対するステータス:771 通常、の代わりに手動でコマンドを実行すると./update、次のようになります。 svn status -uq M * 764アップデート 改訂に対するステータス:771 すなわち、改行を使用します。スクリプトから実行するときに、フォーマットが同じままで読みやすいことを確認するにはどうすればよいですか?
bash  ssh  svn 

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