की जगह स्ट्रिंग है जो दो लाइनों पिछले करने के लिए मिलान पैटर्न

0

सवाल

मैं एक बड़ा है config.js फ़ाइल और मैं बदलने के लिए default:false, करने के लिए default:true, है, जो के शीर्ष पर field:'$scope.keepEffort'. मैं कई की कोशिश की sed कमांड समाधान लेकिन कुछ भी नहीं काम करने लगता है.

                    {
                            default:false,
                            enabled:true,
                            field:'criticalPath',
                            filter:false,
                            filterValue:'',
                            id:'show-critical-path',
                            operator:'colorize'
                    },{
                            default:false,
                            enabled:true,
                            field:'$scope.keepEffort',
                            filter:false,
                            filterValue:'',
                            id:'effort-constant',
                            operator:'var'
                    },{
                            default:false,
                            enabled:true,
                            field:'$scope.automaticProgress',
                            filter:false,
                            filterValue:'',
                            id:'automatic-progress',
                            operator:'var'
                    },{
                            default:false,
                            enabled:true,
                            field:'groupView',
                            filter:false,
                            filterValue:'',
                            id:'gantt-group-view',
                            operator:'var'
                    },{
bash sed shell
2021-11-23 19:45:38
2

सबसे अच्छा जवाब

1

यह एक नौकरी के लिए awk. निम्न प्रयास नहीं करता है मैच के लिए एकल उद्धरण के बाद से ऐसा करने की आवश्यकता है कुछ खोल के हवाले से है कि obfuscates समाधान. इसके अलावा, एक अनुगामी { मुद्रित किया जाता है. कि काफी आसान है निकालने के लिए, और कोड ऐसा करने के लिए छोड़ा जाता है, स्पष्टता के लिए:

awk '/field:.\$scope.keepEffort/{gsub("default:false","default:true")}1' RS=\{ ORS=\{ input-file

विचार है करने के लिए बस अलग रिकॉर्ड { और फिर प्रदर्शन के साथ प्रतिस्थापन (के माध्यम से gsubपर केवल ) रिकॉर्ड है कि मैच के वांछित लाइन.

2021-11-23 20:28:16

बहुत बहुत धन्यवाद आपका समाधान काम करता है, लेकिन मैं कर रहा हूँ के लिए नए ऑक और sed कमान तो कैसे मैं दूर करना चाहिए अंतिम अतिरिक्त { फ़ाइल में मिला है कि जोड़ा गया में एक ही आदेश
pw6591

कि अंतिम { जोड़ा गया है के रूप में अंतिम पंक्ति है, तो यह शायद आसान करने के लिए बस इस पाइप के लिए sed. उदाहरण के लिए awk ... | sed '$d'. के sed आदेश को हटाना होगा अंतिम पंक्ति में है ।
William Pursell
0

यह हो सकता है आप के लिए काम (जीएनयू एसईडी):

sed ':a;/{/{n;:b;N;/}/!bb;/\$scope.keepEffort/s/\(default:\)false,/\1true,/;ba}' file

इकट्ठा लाइनों के बीच { और } और अगर उन लाइनों के होते हैं $scope.keepEffort बदलें default:false द्वारा default:true.

N. B. के अलावा n मिलान के बाद { की अनुमति देता है जो मिलान के }. इसके अलावा, लौटने के लिए :a सभा के बाद एक संग्रह है, तो के रूप में करने के लिए सक्षम हो जाएगा से मेल करने के लिए एक और {.

2021-11-23 23:32:01

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में