আমি কোনও প্রদত্ত পাঠ্য ফাইলে লিনাক্সের ট্যাবগুলির সাথে সাদা স্থানগুলি কীভাবে প্রতিস্থাপন করব?
উত্তর:
UNEXPAND(1) User Commands UNEXPAND(1)
NAME
unexpand - convert spaces to tabs
SYNOPSIS
unexpand [OPTION]... [FILE]...
DESCRIPTION
Convert blanks in each FILE to tabs, writing to standard output. With
no FILE, or when FILE is -, read standard input.
Mandatory arguments to long options are mandatory for short options
too.
-a, --all
convert all blanks, instead of just initial blanks
--first-only
convert only leading sequences of blanks (overrides -a)
-t, --tabs=N
have tabs N characters apart instead of 8 (enables -a)
-t, --tabs=LIST
use comma separated LIST of tab positions (enables -a)
--help display this help and exit
--version
output version information and exit
. . .
STANDARDS
The expand and unexpand utilities conform to IEEE Std 1003.1-2001
(``POSIX.1'').
আমি মনে করি আপনি এজেড দিয়ে চেষ্টা করতে পারেন
awk -v OFS="\t" '$1=$1' file1
বা এসইডি যদি আপনি উপস্থাপন করেন
sed 's/[:blank:]+/,/g' thefile.txt > the_modified_copy.txt
অথবা এমনকি ট্র
tr -s '\t' < thefile.txt | tr '\t' ' ' > the_modified_copy.txt
অথবা স্যাম বিসবি দ্বারা চালিত টিআর সমাধানের সরলিকৃত সংস্করণ
tr ' ' \\t < someFile > someFile
tr ' ' \\t < someFile > someFile
ls -l | sed "s/ \+/ /g"
awk -v OFS="\t" '$1=$1' file1
আমি লক্ষ্য করেছি যে যদি আপনি নম্বরটি 0 (উদাঃ সঙ্গে একটি লাইন শুরুতে আছে যদি 0 1 2
), তারপর লাইন ফলাফল থেকে ommitted করা হবে না।
পার্ল ব্যবহার :
perl -p -i -e 's/ /\t/g' file.txt
perl -p -i -e 's/\t/ /g' *.java
s/ {4}/
4-স্পেস ইনডেন্টিংটিকে ট্যাবে রূপান্তরিত করতাম ।
ভাল টিআর কমান্ড:
tr [:blank:] \\t
এটি গ্রেপ, কাটা ইত্যাদির সাথে আরও প্রক্রিয়াজাতকরণের জন্য , আনজিপ-এল , বলার আউটপুট পরিষ্কার করবে
যেমন,
unzip -l some-jars-and-textfiles.zip | tr [:blank:] \\t | cut -f 5 | grep jar
tr [:blank:] \\t
প্লেইন টেক্সট ফাইলগুলিতে শক্ত ট্যাবগুলিতে নরম ট্যাবগুলিকে পুনরায় রূপান্তর করতে নিম্নলিখিত স্ক্রিপ্টটি ডাউনলোড করুন এবং চালান।
ফোল্ডারটির ভিতরে থেকে স্ক্রিপ্টটি স্থাপন করুন এবং চালিত করুন যাতে প্লেইন পাঠ্য ফাইল রয়েছে।
#!/bin/bash
find . -type f -and -not -path './.git/*' -exec grep -Iq . {} \; -and -print | while read -r file; do {
echo "Converting... "$file"";
data=$(unexpand --first-only -t 4 "$file");
rm "$file";
echo "$data" > "$file";
}; done;
বর্তমান জিরের অধীনে প্রতিটি .js ফাইলটিকে ট্যাবগুলিতে রূপান্তর করার জন্য উদাহরণ কমান্ড (কেবলমাত্র শীর্ষস্থানীয় স্থানগুলি রূপান্তরিত হবে):
find . -name "*.js" -exec bash -c 'unexpand -t 4 --first-only "$0" > /tmp/totabbuff && mv /tmp/totabbuff "$0"' {} \;
আপনি ব্যবহার করতে পারেন astyle
। আমি এটি বেশ কার্যকর বলে মনে করেছি এবং এর বেশ কয়েকটি বিকল্পও রয়েছে:
Tab and Bracket Options:
If no indentation option is set, the default option of 4 spaces will be used. Equivalent to -s4 --indent=spaces=4. If no brackets option is set, the
brackets will not be changed.
--indent=spaces, --indent=spaces=#, -s, -s#
Indent using # spaces per indent. Between 1 to 20. Not specifying # will result in a default of 4 spaces per indent.
--indent=tab, --indent=tab=#, -t, -t#
Indent using tab characters, assuming that each tab is # spaces long. Between 1 and 20. Not specifying # will result in a default assumption of
4 spaces per tab.`
আপনি যদি কোনও ট্যাবের সাহায্যে একটি লাইনে পরপর সমস্ত জায়গাগুলি প্রতিস্থাপনের কথা বলছেন tr -s '[:blank:]' '\t'
।
[root@sysresccd /run/archiso/img_dev]# sfdisk -l -q -o Device,Start /dev/sda
Device Start
/dev/sda1 2048
/dev/sda2 411648
/dev/sda3 2508800
/dev/sda4 10639360
/dev/sda5 75307008
/dev/sda6 96278528
/dev/sda7 115809778
[root@sysresccd /run/archiso/img_dev]# sfdisk -l -q -o Device,Start /dev/sda | tr -s '[:blank:]' '\t'
Device Start
/dev/sda1 2048
/dev/sda2 411648
/dev/sda3 2508800
/dev/sda4 10639360
/dev/sda5 75307008
/dev/sda6 96278528
/dev/sda7 115809778
আপনি যদি সমস্ত শ্বেত স্থান (যেমন স্থান, ট্যাব, নিউলাইন ইত্যাদি) প্রতিস্থাপনের কথা বলছেন তবে tr -s '[:space:]'
।
[root@sysresccd /run/archiso/img_dev]# sfdisk -l -q -o Device,Start /dev/sda | tr -s '[:space:]' '\t'
Device Start /dev/sda1 2048 /dev/sda2 411648 /dev/sda3 2508800 /dev/sda4 10639360 /dev/sda5 75307008 /dev/sda6 96278528 /dev/sda7 115809778
আপনি যখন একটি ট্যাব-ক্ষতিগ্রস্ত ফাইল ফিক্সিং বিষয়ে কথা হয়, তাহলে ব্যবহার expand
এবং unexpand
অন্যান্য উত্তর হিসাবে উল্লেখ করেছে।
এটি এক স্থান দিয়ে টানা স্পেসগুলি প্রতিস্থাপন করবে (তবে ট্যাব নয়)।
tr -s '[:blank:]'
এটি একটি ট্যাব দিয়ে একটানা স্পেস প্রতিস্থাপন করবে।
tr -s '[:blank:]' '\t'
-c
এটা পরপর অক্ষর আছে যা হয় প্রতিস্থাপন না স্পেস।
tr
বা তার সাথে জড়িত হওয়ার চেয়ে নিখুঁত ছিলsed
।