2011-01-21 15 views
1

これを行うには探しています。このコードを使用したいものをユーザーに尋ねるスクリプトを作成しようとしています。シェルスクリプト読み込み入力とコピー&ペースト

#!/bin/bash 

read inputline 
what="$inputline" 
echo $what 

私は、どここの

いくつかのテキストいくつかのより多くのテキスト(ユーザー入力がここに貼り付けたい)以上のテキストよりテキストのように見えるこのパス/システムの/ etc/99ocに他の置かれている別のファイルを持っています

したがって、スクリプトは入力を受け取り、別のドキュメントのテキスト間に貼り付けることができる必要があります。これは可能ですか?代替案?

はい申し訳ありません、ここで

にコピーされる第二のファイルの各ラインは、>/procの/オーバークロック「1 『の入力をここに』」エコーされている任意のヘルプ

編集 いただき、ありがとうございます/>/procの/オーバークロック/ mpu_opps が

>/procの/オーバークロック/ mpu_opps "2 'の入力をここに'" エコー

は "3 'の入力をここに'" エコーmpu_opps

は>は/ proc /オーバークロック/ mpu_opps

が6「の入力をここに」エコー

は "5 'の入力をここに'" エコー

>/procの/オーバークロック/ mpu_opps "4 'の入力をここに'" エコー「」>/procの/オーバークロック/ mpu_opps

『入力『は入力が

を貼り付けるべき場所である』外で』ここに行くにもちょうど私が何を

感謝のためのcp $を行うことができます学びましたヘルプ

答えて

0

は、この試してみて:

#!/bin/bash 

read -r -p "Please enter some text" inputline 
# attempt to sanitize the input by escaping some special characters 
printf -v inputline '%q' "$inputline" 
# insert the user input before the second quotation mark on each line in the file 
sed -i "/^echo.*mpu_opps$/s/\"/$inputline\"/2 /system/etc/99oc 

sedコマンドは(GNU sed用)の場所にあるファイルへの変更を行います。 OS Xを使用している場合は、バックアップ拡張機能が必要です。 sedのバージョンが-iでない場合は、出力を一時ファイルにリダイレクトして名前を変更する必要があります。

テストファイルでこれを使用して、必要な機能が実行されていることを確認してください。

0

はい、これはsedまたはawkのようなもので可能ですが、(want user input pasted here)がどこに行くのかを知るためには何かキーが必要です。つまり、「Some」で始まる行の6番目と7番目の単語の間に挿入されます。

0

sedで簡単に実行できます。

どのような操作(挿入、付加または交換が)使用され、構文の意志は同じまま:より多くの助けのための

sed '{/pattern/|/regexp/|n}{i|a|c}<text to be iserted>' file 

チェックhttp://en.kioskea.net/faq/1454-inserting-text-in-a-file

関連する問題